Spring Cloud
1.什么是Spring Cloud?
Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智能路由,微代理,控制总线)。分布式系统的协调导致了样板模式, 使用Spring Cloud开发人员可以快速地支持实现这些模式的服务和应用程序。他们将在任何分布式环境中运行良好,包括开发人员自己的笔记本电脑,裸机数据中心,以及Cloud Foundry等托管平台。
2. Spring Cloud 有什么特性?
Spring Cloud专注于提供良好的开箱即用经验的典型用例和可扩展性机制覆盖。
分布式/版本化配置
服务注册和发现
路由
service - to - service调用
负载均衡
断路器
分布式消息传递
3. Spring Cloud 的子项目
Spring Cloud的子项目,大致可分成两类,一类是对现有成熟框架”Spring Boot化”的封装和抽象,也是数量最多的项目;第二类是开发了一部分分布式系统的基础设施的实现,如Spring Cloud Stream扮演的就是kafka, ActiveMQ这样的角色。对于我们想快速实践微服务的开发者来说,第一类子项目就已经足够使用,如:
Spring Cloud Netflix
是对Netflix开发的一套分布式服务框架的封装,包括服务的发现和注册,负载均衡、断路器、REST客户端、请求路由等。
Spring Cloud Config
将配置信息中央化保存, 配置Spring Cloud Bus可以实现动态修改配置文件
Spring Cloud Bus
分布式消息队列,是对Kafka, MQ的封装
Spring Cloud Security
对Spring Security的封装,并能配合Netflix使用
Spring Cloud Zookeeper
对Zookeeper的封装,使之能配置其它Spring Cloud的子项目使用
Spring Cloud Eureka
Spring Cloud Eureka 是 Spring Cloud Netflix 微服务套件中的一部分,它基于Netflix Eureka 做了二次封装,主要负责完成微服务架构中的服务治理功能。
4 .Spring Cloud 版本说明
4.1 为什么 Spring Cloud 版本用的是单词而不是数字?
设计的目的是为了更好的管理每个 Spring Cloud 的子项目的清单。避免子的版本号与子
项目的版本号混淆。
4.2 版本号单词的定义规则
采用伦敦的地铁站名称来作为版本号的命名,根据首字母排序,字母顺序靠后的版本号
越大
4.3 版本发布计划说明
Buildxxx : 开发团队内部的开发版本
GA(AenerallyAvailable)版:内部开发到一定阶段了,各个模块集成后,经过细心的测试整个开发团队觉得软件已经稳定没有问题了。可以对外发行了
milestone版本:由于ga版还不属于公开发行版,里面还有功能不完善的或者一些bug,于是就有了milestone(里程碑)版,milestone版本主要修复一些bug和调整ui。
Release Candidates:milestone版本之后软件基本定型了,这时候的软件就进入了Release Candidates(RC发行候选)版,该阶段的软件类似于最终发行前的一个观察期,该期间只对一些发现的等级高的bug进行修复,发布rc1,rc2等版本。该阶段通常两个版本发行间隔会比较短,一周左右。
Service Release(SR版):接着就正式发行了,公开发行后一般会有两个Service Release(SR版)。这两个术语服务性质的版本,每个SR版本里面会包括4个左右的RC版。SR版本也是用来修复一些大的bug或者优化的。