微服务开发框架—Spring Cloud
2.1. Spring Cloud简介及其特点
简介:
Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具
(例如配置管理,服务发现,断路器,智能路由,微代理,控制总线)。分布式系统
的协调导致了样板模式, 使用Spring Cloud开发人员可以快速地支持实现这些模式的服
务和应用程序。他们将在任何分布式环境中运行良好,包括开发人员自己的笔记本电
脑,裸机数据中心,以及Cloud Foundry等托管平台。
特点:
Spring Cloud专注于提供良好的开箱即用经验的典型用例和可扩展性机制覆盖。
-
分布式/版本化配置
-
服务注册和发现
-
路由
-
service - to - service调用
-
负载均衡
-
断路器
-
分布式消息传递
2.2. Spring Cloud的版本简介
因为Spring Cloud不同其他独立项目,它拥有很多子项目的大项目。所以它是的版本是 版本名+版本号 (如Angel.SR6)。
版本名:是伦敦的地铁名
版本号:SR(Service Releases)是固定的 ,大概意思是稳定版本。后面会有一个递增的数字。
所以 Brixton.SR5就是Brixton的第5个Release版本。
版本的区别(包含的子项目不同..)
2.3Spring Cloud的组成
Spring clod包含了多个子项目,如下所述(Spring Cloud一直在更新,这里只是部分,写多了也不一定懂,所以现在只是概括一下,实践过才知道)
Spring Cloud Config 配置管理工具,支持使用Git存储配置内容,可以使用它实现应用配置的外部化存储,并支持客户端配置信息刷新、加密/加密配置内容等。
Spring Cloud Netflix 核心组件(相对于国内的Duboo),对多个NetflixOSS开源套件进行整理。
-
Eureka 服务治理组件,包含服务注册中心,服务注册与发现机制的实现。(服务治理,服务注册/发现)
-
Hystrix 容错管理逐渐,实现断路器模式,帮助服务以来中出现的延迟和为故障提供强大的容错能力。(熔断、断路器,容错)
-
Ribbon 客户端负载 均和的服务调用组件(客户端负载)
-
Feigin 给予Ribbon和Hystrix的声明式服务调用组件 (声明式服务调用)
-
Zuul 网关组件,提供智能路由,访问过滤功能
-
Archaius 外部化配置组件
Spring Cloud Bus 事件、消息总线 (消息总线)
Spring Cloud Cluster 针对Zookeeper、Redis、Hazelcast、Consul、的选举算法和通用状态模式的实现
Spring Cloud Cloudfoundry 与Pivatal Cloudfoundry的整合支持
Spring Cloud Consul 服务发现与配置管理工具
Spring Cloud Stream 通过Redis、Rabbit或者卡夫卡实现消费微服务,可以通过简单的声明式模型发送和接收消息
Spring Cloud AWS 用于简化整合 Amazon Web Service 的组件
Srping Cloud Security 安全工具包,提供在Zuul代理中的OAuth2客户端请求的中继器。
Spring Cloud Sleuth Spring Cloud营运的分布式跟踪实现,可以完美整合Zipkin
Spring Cloud Zookeeper 给予Zookeeper的服务发现与配置管理组件
Spring Cloud Starers Spring Cloud的基本组件,它基于Spring Boot风格项目的基础依赖模块
Spring Cloud CLI 用于在Groovy中快速创建Spring Cloud应用的Spring Boot CLI插件