1、Spring Cloud Netflix Eureka
服务注册中心
2、Spring Cloud Netflix Ribbon
客户端负载均衡
3、Spring Cloud Netflix Hystrix
服务容错保护
4、Spring Cloud Netflix Feign
声明式服务调用
5、Spring Cloud OpenFeign(可替代 Feign)
OpenFeign是Spring Cloud在Feign的基础上支持了Spring MVC的注解,如@RequestMapping 等等。OpenFeign的@FeignClient可以解析SpringMVC的@RequestMapping注解下的接口,并通过动态代理的方式产生实现类,实现类中做负载均衡并调用其他服务
6、Spring Cloud Netflix Zuul
API网关服务,过滤、安全、监控、限流、路由
7、Spring Cloud GateWay(可替代 Zuul)
Spring Cloud Gateway 是Spring官方基于Spring5.0,Spring Boot2.0和Project Reacoor等技术开发的网关,Spring Cloud Gateway旨在为维服务提供一种简单而有效的统一的API路由管理方式。Spring Cloud Gateway 作为Spring Cloud生态系统中的网关,目标是替代Netflix Zuul,其不仅提供统一的路由方式,并且基于Filter 链的方式提供了网关基本的功能,例如:安全,监控/埋点,和限流等
8、Spring Cloud Config
分布式配置中心。配置管理工具,支持使用Git存储配置内容,支持应用配置的外部化存储,支持客户端配置信息刷新,加解密配置内容等
9、Spring Cloud Bus
事件,消息总线,用于在集群(例如,配置变化事件)中传播状态变化,可与Spring Cloud Config 联合实现热部署
10、Spring cloud Stream
消息驱动微服务
11、Spring Cloud Sleuth
分布式服务追踪
12、Spring Cloud Alibaba
阿里巴巴结合自身微服务实践,开源的微服务全家桶。在Spring Cloud项目中孵化,很可能成为Spring Cloud第二代的标准实现
Spring Cloud 第一代 | 状态 | Spring Cloud Alibaba | 状态 |
---|---|---|---|
Eureka | 2.0孵化失败 | Nacos Discovery | 性能强劲,感知更快 |
Ribbon | 进入维护状态,预计2020年1月停止维护,新的标准已形成: spring-cloud-loadbalancer, 但暂无参考实现。Spring Cloud Hoxton才会孵化出替代品 |
||
Hystrix/Hystrix Dashboard/Turbine | 进入维护状态,预计2020年1月停止为何 | Sentinel | 可视化配置,上手更简单 |
Zuul | 进入维护状态,预计2020年1月停止维护 | Spring Cloud Gateway | 性能是Zuul的1.6倍 |
Spring Cloud Config | 搭建复杂,约定多,设计繁重,没有界面,难以上手 | Nacos Config | 搭建简单,有可视化界面,配置管理更高兴,学习曲线低 |
总结
Spring Cloud第一代 | Spring Cloud第二代 | |
---|---|---|
网关 | Spring Cloud Zuul | Spring Cloud Gateway |
注册中心 | Eureka、Consul、Zookeeper | 阿里Nacos、拍拍贷Radar等 |
配置中心 | Spring Cloud Config | 阿里Nacos、携程Apollo、随行付Config Keeper |
客户端负载均衡 | Ribbon | Spring-Cloud-Commons的Spring Cloud LoadBalancer |
熔断器 | Hystrix | Spring-Cloud-r4j(Resilience4J),阿里Sentinel |