什么是SpringCloud?
什么是SpringCloud?
月伴飞鱼
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:
- 一个易于使用的高性能微服务分布式事务解决方案。














