Fork me on GitHub

Spring Cloud

Spring Cloud与Dubbo共存方案总结

一、背景假设有一个遗留的Dubbo系统,现在想改用Spring Cloud。 由于遗留Dubbo系统比较庞大,短期之内无法完成技术栈的迁移。因此需要“分步走”,即:初期实现两者共存,后期逐步绞杀Dubbo应用,最终实现技术栈的统一。 p.s. 这里并没有贬低Dubbo的意思,仅是按照该场景讨论。 二、头脑风暴架构迁移、技术栈更换、项目重构时的第一步往往不是“改造”,而是“停止修改”。基于这个原则,个人不太倾向于去立即大幅重构Dubbo应用原先的代码。原因有二:首先是原则...

Spring Cloud Security系列教程一:入门

本篇有一定的学习曲线,建议先花一点时间了解一下前置知识: Spring Security:http://docs.spring.io/spring-security/site/docs/4.2.2.RELEASE/reference/htmlsingle/ OAuth2(重点),参考文档:http://www.ruanyifeng.com/blog/2014/05/oauth_2_0.html Spring Security OAuth2,参考文档:http://do...

Spring Cloud内置的Zuul过滤器详解

Spring Cloud默认为Zuul编写并启用了一些过滤器,这些过滤器有什么作用呢?我们不妨按照@EnableZuulServer、@EnableZuulProxy两个注解进行展开,相信大家对这两个注解都不陌生(至少都见过吧)。如果觉得陌生也没有关系,可将@EnableZuulProxy简单理解为@EnableZuulServer的增强版。事实上,当Zuul与Eureka、Ribbon等组件配合使用时,@EnableZuulProxy是我们常用的注解。 在Spring...

Spring Cloud Zuul过滤器详解

阅读本文,您将了解: Zuul过滤器类型与请求生命周期 如何编写Zuul过滤器 如何禁用Zuul过滤器 Spring Cloud为Zuul编写的过滤器及其功能。 过滤器是Zuul的核心组件,本节我们来详细讨论Zuul的过滤器。 过滤器类型与请求生命周期Zuul大部分功能都是通过过滤器来实现的。Zuul中定义了四种标准过滤器类型,这些过滤器类型对应于请求的典型生命周期。 (1) PRE:这种过滤器在请求被路由之前调用。我们可利用这种过滤器实现身份验证、在集群中选择请...

《Spring Cloud与Docker微服务架构实战》配套代码

不才写了本使用Spring Cloud玩转微服务架构的书,书名是《Spring Cloud与Docker微服务架构实战》 - 周立,已于2017-01-12交稿。不少朋友想先看看源码,现将代码放出。 本次放出的代码: 共计70+个DEMO 覆盖Eureka、Ribbon、Feign、Hystrix、Zuul、Spring Cloud Config、Spring Cloud Bus、Spring Cloud Sleuth、Docker、Docker Compose等。 ...

Spring Cloud各组件配置属性总结

我们知道,Spring Cloud是个工具集,整合了各种组件。有的组件Spring Cloud是拿来主义,有的组件Spring Cloud又进行了一些增强(例如Feign)。这就导致Spring Cloud配置的分散——部分在Spring Cloud官方文档中有所提及,另外一些配置则分散在各组件自身Wiki中。 这样的现状,为Spring Cloud初学者带来新的挑战。事实上,经常有朋友在使用Spring Cloud的时候,咨询我相关组件的配置。 经过本书的讲解,相信...

理解Eureka的自我保护模式

本文我们来探讨Eureka的自我保护模式。自我保护模式是Eureka的重要特性。进入自我保护模式最直观的体现,是Eureka Server首页输出的警告,如图4-10所示。 图4-10 Eureka Server自我保护模式界面 默认情况下,如果Eureka Server在一定时间内没有接收到某个微服务实例的心跳,Eureka Server将会注销该实例(默认90秒)。但是当网络分区故障发生时,微服务与Eureka Server之间无法正常通信,以上行为可能变得非常...

《Spring Cloud与Docker微服务实战》实体书目录

不才写了本Spring Cloud微服务相关的书,书名是《Spring Cloud与Docker微服务实战》,已于2017-01-12交稿。 从书名来看,是本凑热闹的书,什么火写什么,其实是对现阶段工作的总结,希望对大家有帮助。全书共分为14章,其中,1-3章是一些入门知识,4-11章讲Sring Cloud,12-14章讲Docker。详见目录。 WORD版本《Spring Cloud与Docker微服务实战》周立-目录 脑图

Config Server——使用Spring Cloud Bus自动刷新配置

前文我们讨论了使用/refresh 端点手动刷新配置,但是如果所有微服务节点的配置都需要手动去刷新的话,那必然是一个繁琐的工作,并且随着系统的不断扩张,会变得越来越难以维护。因此,实现配置的自动刷新是很有必要的,本节我们讨论使用Spring Cloud Bus实现配置的自动刷新。 Spring Cloud Bus提供了批量刷新配置的机制,它使用轻量级的消息代理(例如RabbitMQ、Kafka等)连接分布式系统的节点,这样就可以通过Spring Cloud Bus广播配...

如何使用Feign构造多参数的请求

本节我们来探讨如何使用Feign构造多参数的请求。笔者以GET以及POST方法的请求为例进行讲解,其他方法(例如DELETE、PUT等)的请求原理相通,读者可自行研究。 GET请求多参数的URL假设我们请求的URL包含多个参数,例如http://microservice-provider-user/get?id=1&username=张三 ,要如何构造呢? 我们知道,Spring Cloud为Feign添加了Spring MVC的注解支持,那么我们不妨按照Sp...