Spring Cloud
就是分布式微服务架构的⼀站式解决方案,是微服务架构落地的多种技术的集合。包含:
- 服务注册与发现、配置中心、服务网关、智能路由、负载均衡、断路器、监控跟踪、分布式消息队列等等。
Spring Cloud
包含很多子项目:比如:Netflix
和Alibaba
。SpringCloud中文网:https://springcloud.cc
发布计划
版本号 | 版本 | 说明 |
---|---|---|
BUILD-XXX | 开发版 | 开发团队内部使用 |
M | 里程碑版 | MileStone,M1 表示第 1 个里程碑版本,一般同时标注 PRE,表示预览版 |
RC | 候选发布版 | Release Candidate,正式发布版的前一个观察期,不添加新功能,主要着重于除错 |
SR | 正式发布版 | Service Release,SR1 表示第 1 个正式版本,一般同时标注 GA,表示稳定版本 |
GA | 稳定版 | 经过全面测试并可对外发行称之为GA(General Availability ) |
希腊字母版本
Base:
- 设计阶段。只有相应的设计没有具体的功能实现。
Alpha:
- 软件的初级版本,存在较多的
Bug
。Beta:
- 表示相对
Alpha
有了很大的进步,消除了严重的 Bug,还存在一些潜在的 Bug。Gamma:
- 是
Beta
版做过一些修改,成为正式发布的候选版本(Release Candidate
)。Release:
- 该版本表示最终版。
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 等 |
链路追踪 | Sleuth + Zipkin | Apache Skywaling,OpenTracing 等 |
Eureka
,Hystrix
等不再继续开发或维护,但是目前来说不影响使用。
Dubbo和SpringCloud对比
Spring Cloud
抛弃了Dubbo
的RPC
通信。
- 采用的是基于
HTTP
的REST
方式。二者解决的问题域不一样:
Dubbo
的定位是一款RPC
框架,而SpringCloud
的目标是微服务架构下的一站式解决方案。
Spring Cloud Netflix
Netflix Eureka
:
- 一个基于
Rest
服务的服务治理组件。
Netflix Ribbon
:
- 客户端负载均衡的服务调用组件。
Netflix Hystrix
:
- 容错管理工具,实现断路器模式。
Netflix Feign
:
- 基于
Ribbon
和Hystrix
的声明式服务调用组件。
Netflix Zuul
:
- 微服务网关,提供动态路由,访问过滤等服务。
Netflix Archaius
:
- 配置管理
API
。
Spring Cloud Alibaba
Nacos
:
- 一个更易于构建云原生应用的动态服务发现、配置管理和服务管理平台。
Sentinel
:
- 面向分布式服务架构的轻量级流量控制产品。
RocketMQ
:
- 一款开源的分布式消息系统。
Dubbo
:
- 一款高性能
Java RPC
框架,用于实现服务通信。
Seata
:
- 一个易于使用的高性能微服务分布式事务解决方案。