Spring Cloud并非一个具体的框架,可理解为提供各类工具的工具箱,帮助我们快速构建分布式系统。SpringCloud的各项目基于SpringBoot。
Spring Cloud的主要模块:
- Spring Cloud Config:为分布式系统提供了配置服务器和配置客户端,通过对它们的配置,可以很好地管理集群中的配置文件。
- Spring Cloud Sleuth:服务跟踪框架,可以 Zipkin Apache HTrace ELK 等数据分析、服务跟踪系统进行整合,为服务跟踪、解决问题提供了便利
- Spring Cloud Stream:用于构建消息驱动微服务的框架,该框架在 Spring Boot 的基础上,整合了 Spring Integration 来连接消息代理中间件。
- Spring Cloud Bus:连接 RabbitMQ Kafka 等消息代理的集群消息总线 。
- Spring Cloud Netflix
Spring Cloud 下的 Spring Cloud Netflix 模块, 主要封装了 Netflix 的以下项目。
- Eureka :基于阻ST 服务的分布式中间件,主要用于服务管理
- Hystrix :容错框架,通过添加延迟阑值以及容错的逻辑,帮助我们控制分布式系间组件的交互。
- Feign :REST 客户端,目的是为了简化 Web Service 客户端的开发。
- Ribbon :负载均衡框架,在微服务集群中为各个客户端的通信提供支持,它主要现中间层应用程序的负载均衡。
- Zuul :为微服务集群提供代理、过滤、路由等功能。
Spring Cloud将Netflix的多个框架进行封装并且通 过自动配置的方式将这些框架绑定到 Spring 的环境中,从而简化了这些框架的使用 。