Spring Cloud相关练习,包含服务发现/配置中心/故障熔断/服务监控/服务网关等场景。
GitHub:https://github.com/linfan/spring-cloud-demo.git
Forked from:https://github.com/luoml/spring-cloud-example.git
项目基于Spring Boot 1.5.4.RELEASE
和Spring Cloud Dalston.RELEASE
版本,各模块简要说明如下:
project | desc |
---|---|
eureka-server | 演示Eureka服务注册中心 |
eureka-client | 演示Eureka的客户端,提供Restful服务 |
ribbon-demo | 演示Ribbon负载均衡器,以及Hystrix断路器 |
feign-demo | 演示Feign封装调用,以及Hystrix断路器 |
config-server | 演示分布式配置中心 |
config-client | 演示配置中心客户端,动态更新配置 |
config-repo | 配置中心的Git远程仓库 |
admin-server | 演示SpringBoot应用监控 |
turbine-demo | 演示断路器汇聚监控 |
zipkin-demo | 演示服务调用链追踪 |
zuul-demo | 演示Zuul服务网关 |
db-rest-demo | 演示Spring Data REST自动创建数据接口 |
- 练习一:服务发现,通过服务发现进行服务调用负载均衡
需要服务eureka-server
/eureka-client
x2/ribbon-demo
/feign-demo
- 练习二:配置中心,通过配置中心进行配置热刷新
需要服务eureka-server
/config-server
/config-client
x2 - 练习三:故障熔断,通过故障熔断阻止故障雪崩
需要服务eureka-server
/eureka-client
/feign-demo
- 练习四:服务监控,通过性能面板和调用链追踪优化服务
需要服务eureka-server
/eureka-client
/ribbon-demo
/feign-demo
/admin-demo
/turbine-demo
/zipkin-demo
- 练习五:服务网关,通过服务网关控制访问流量
需要服务eureka-server
/eureka-client
/ribbon-demo
/zuul-demo
eureka-client
、ribbon-demo
和feign-demo
服务中已经引入了Zipkin
的依赖,在练习一会出现ResourceAccessException
,需要先移除相关代码config-server
和config-client
中引入的Spring Cloud Bus包含对Rabbit的依赖,在练习二尚未使用动态刷新时,可先移除相关代码