我们从整体上来看一下Spring Cloud各个组件如何来配套使用:
从上图可以看出Spring Cloud各个组件相互配合,合作支持了一套完整的微服务架构。
- 其中Eureka负责服务的注册与发现,很好将各服务连接起来
- Hystrix 负责监控服务之间的调用情况,连续多次失败进行熔断保护。
- Hystrix dashboard,Turbine 负责监控 Hystrix的熔断情况,并给予图形化的展示
- Spring Cloud Config 提供了统一的配置中心服务
- 当配置文件发生变化的时候,Spring Cloud Bus 负责通知各服务去获取最新的配置信息
- 所有对外的请求和服务,我们都通过Zuul来进行转发,起到API网关的作用
- 最后我们使用Sleuth+Zipkin将所有的请求数据记录下来,方便我们进行后续分析
Spring Cloud从设计之初就考虑了绝大多数互联网公司架构演化所需的功能,如服务发现注册、配置中心、消息总线、负载均衡、断路器、数据监控等。这些功能都是以插拔的形式提供出来,方便我们系统架构演进的过程中,可以合理的选择需要的组件进行集成,从而在架构演进的过程中会更加平滑、顺利。
微服务架构是一种趋势,Spring Cloud提供了标准化的、全站式的技术方案,意义可能会堪比当前Servlet规范的诞生,有效推进服务端软件系统技术水平的进步。
从现在开始,我这边会将近期研发的springcloud微服务云架构的搭建过程和精髓记录下来,帮助更多有兴趣研发spring cloud框架的朋友,希望可以帮助更多的好学者。大家来一起探讨spring cloud架构的搭建过程及如何运用于企业项目。