几大模块:服务发现(Eureka),断路器(Hystrix),智能路由(Zuul),客户端负载均衡(Ribbon)
spring --> spring boot --> spring cloud
-
- 注册中心 Eureka
- 生产中我们可能需要三台或者大于三台的注册中心来保证服务的稳定性,配置的原理其实都一样,将注册中心分别指向其它的注册中心
- 服务注册与发现
- 熔断器 Hystrix
- 服务网关 Zuul
- 通过一个API网关根据请求的url,路由到相应的服务
- 服务网关zuul初级篇
- 客户端负载均衡 Ribbon
- 通过在客户端中配置ribbonServerList来设置服务端列表去轮询访问以达到均衡负载的作用。
- 客户端负载均衡 Feign
- Feign是基于Ribbon实现的,所以它自带了客户端负载均衡功能,也可以通过Ribbon的IRule进行策略扩展。
- 创建接口并用注解来配置它即可完成对Web服务接口的绑定。它具备可插拔的注解支持,包括Feign注解、JAX-RS注解。它也支持可插拔的编码器和解码器。Spring Cloud Feign还扩展了对Spring MVC注解的支持,同时还整合了Ribbon和Eureka来提供均衡负载的HTTP客户端实现。
- config
- 配置中心
- 注册中心 Eureka