从上图可以看出 Spring Cloud 各个组件相互配合,合作支持了一套完整的微服务架构:
Eureka 负责服务的注册与发现,很好地将各服务连接起来。
Hystrix 负责监控服务之间的调用情况,连续多次失败进行熔断保护。
Hystrix dashboard,Turbine 负责监控 Hystrix 的熔断情况,并给予图形化的展示。
Spring Cloud Config 提供了统一的配置中心服务。
当配置文件发生变化的时候,Spring Cloud Bus 负责通知各服务去获取最新的配置信息。
所有对外的请求和服务,我们都通过Zuul来进行转发,起到 API 网关的作用。
最后我们使用 Sleuth+Zipkin 将所有的请求数据记录下来,方便我们进行后续分析。
Spring Cloud 从设计之初就考虑了绝大多数互联网公司架构演化所需的功能,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等。