Spring Cloud Alibaba
是 Spring Cloud 的一个中国化增强版本,也是 Spring Cloud 生态的重要组成部分,旨在提供一站式的微服务解决方案。
针对中国开发者的需求,提供了阿里巴巴集团多个开源组件的整合,例如 Nacos(服务注册与发现、配置管理)、Sentinel(流量控制、熔断降级)、RocketMQ(消息队列)、Dubbo(RPC 框架)、Seata(分布式事务解决方案)等。
相较于 Spring Cloud Netflix,Spring Cloud Alibaba 使用的是更活跃且持续维护的组件,并针对云原生场景做了优化,更适合当前微服务架构的发展趋势。
Spring Cloud
是一个基于 Spring Boot 实现的微服务解决方案框架,它提供了一套微服务开发所需的规范和标准。
定义了一系列开发微服务应用的模式和组件,比如服务注册与发现、配置中心、负载均衡、熔断器、API 网关等,但并不直接提供具体实现。
Spring Cloud Netflix
是 Spring Cloud 生态系统中最早期的一个子项目,它为 Spring Cloud 提供了一套基于 Netflix OSS 组件实现的服务治理方案。
包含了如 Eureka(服务注册与发现)、Hystrix(熔断器)、Zuul(API 网关)、Ribbon(客户端负载均衡器)和 Turbine(监控仪表盘)等组件。
自2018年12月12日起,Netflix 公司宣布停止对其内部开源组件的维护,转而推荐社区自行维护。这意味着 Spring Cloud Netflix 中的部分组件将不再得到官方更新和支持。
三者直接得组件对比
~ | SpringCloud 官方 | Netflix | Alibaba |
---|---|---|---|
~ | 配置中心 | Spring Cloud Config | Archaius Nacos |
注册中心 | Eureka | Nacos | |
服务调用 | Spring Cloud | OpenFeign、RestTemlete | Dubbo |
负载均衡 | Spring Cloud | Load Balancer | Ribbon Dubbo |
服务容错 | Hystrix | Sentinel | |
API网关 | Spring Cloud Gateway | Zuul | |
消息驱动 | Spring Cloud Stream | RabbiltMQ/Kafka | Spring Cloud Stream RecketMQ |
事件总线 | Spring Cloud Bus | Spring Cloud Bus RecketMQ | |
链路跟踪 | Spring Cloud Sleuth | ||
分布式事物 | Seate | ||
分布式调度 | SchedulerX |