介绍


整体架构

组成:

  1. 服务注册与发现组件:Eureka,Zookeeper,Consul,Nacos等。Eureka基于REST风格的。

  2. 服务调用组件:Hystrix(熔断降级,在出现依赖服务失效的情况下,通过隔离 系统依赖服务 的方式,防止服务级联失败,同时提供失败回滚机制,使系统能够更快地从异常中恢复),Ribbon(客户端负载均衡,用于提供客户端的软件负载均衡算法,提供了一系列完善的配置项:连接超时、重试等),OpenFeign(优雅的封装Ribbon,是一个声明式RESTful网络请求客户端,它使编写Web服务客户端变得更加方便和快捷)。

  3. 网关:路由和过滤。Zuul,Gateway。

  4. 配置中心:提供了配置集中管理,动态刷新配置的功能;配置通过Git或者其他方式来存储。

  5. 消息组件:Spring Cloud Stream(对分布式消息进行抽象,包括发布订阅、分组消费等功能,实现了微服务之间的异步通信)和Spring Cloud Bus(主要提供服务间的事件通信,如刷新配置)

  6. 安全控制组件:Spring Cloud Security 基于OAuth2.0开放网络的安全标准,提供了单点登录、资源授权和令牌管理等功能。

  7. 链路追踪组件:Spring Cloud Sleuth(收集调用链路上的数据),Zipkin(对Sleuth收集的信息,进行存储,统计,展示)。

Spring Cloud Compoments

Eureka:服务注册与发现,用于服务管理。

Feign: web调用客户端,能够简化HTTP接口的调用。

Ribbon:基于客户端的负载均衡。

Hystrix:熔断降级,防止服务雪崩。

Zuul:网关路由,提供路由转发、请求过滤、限流降级等功能。

Config:配置中心,分布式配置管理。

Sleuth:服务链路追踪

Admin:健康管理

Spring Cloud

概念

Spring Cloud是实现微服务架构的一系列框架的有机集合。

是在Spring Boot基础上构建的,用于简化分布式系统构建的工具集。是拥有众多子项目的项目集合。利用Spring Boot的开发便利性,巧妙地简化了分布式系统基础设施(服务注册与发现、熔断机制、网关路由、配置中心、消息总线、负载均衡、链路追踪等)的开发。

版本演进

  1. 版本过程:版本名.版本号。

  2. 版本名:伦敦地铁字母顺序。

  3. 版本号:M(milestone):里程碑,

    ​ SR(Service Releases):稳定版,

    ​ RC(Release Candidate):稳定版的候选版,也就是稳定版的最后一个版本。

看官网:查询每个cloud版本下面的子模块的版本。
https://spring.io/projects/spring-cloud
此网页的最下面,目前最新的SpringCloud最新版本是:Greenwich.SR2
版本记录
https://github.com/spring-cloud/spring-cloud-release/releases