Spring Cloud是一个面向分布式系统构建的技术体系,为开发人员提供了构建分布式系统所需的核心和外围组件,其基于Spring Framework和Spring Boot技术框架,使得能够“开箱即用”,快速搭建如下微服务架构所需的功能,
- 服务注册和发现
- 服务路由
- 负载均衡
- 访问安全控制
- 应用配置
- 熔断限流
- 调用监控
- 健康检查
一个由Spring Cloud所搭建的微服务架构体系如下图所示,
主要组件模块的功能如下,
- 网关Zuul:提供服务路由、负载均衡、访问安全控制、熔断限流
- 注册中心Eureka:服务注册和发现
- 配置中心Config:应用环境配置
- 微服务Spring Boot:应用服务开发
- 流量监控Turbine:流量监控、熔断限流监控
- 监控看板Spring Cloud Dashboard:应用健康状态、心跳检查、熔断限流看板
- 调用链监控Sleuth:通过日志跟踪调用链
- 日志分析ELK:日志分析
- 告警:健康和熔断告警
图中Spring Cloud组件都用相应的图标标记,注意的是,日志分析和告警两个模块组件,Spring Cloud尚未涉及相关组件,需要对接第三方所提供的组件模块。对于这两个组件,图中参考了拍拍贷基础架构设计,分别选用了ELK和Zalando Zmon,详细请见下篇拍拍贷的技术架构体系设计。
参考资料
- Spring by Pivotal https://spring.io/