SpringCloud概述
SpringCloud是构建分布式系统的工具集,所谓微服务架构就是把一个大系统按业务功能分解成多个职责单一的小系统,每一个小模块尽量专一的只做一件事,并利用简单的方法使多个小系统相互协作,组合成一个大系统后再统一对外提供整体服务。
1. Spring Cloud微服务体系
Spring Cloud本身并不是一个开箱即用的框架,它是一套微服务规范,共有两代实现:
- Spring Cloud Netflix是Spring Cloud的第一代实现,主要由Eureka、Ribbon、Feign、Hystrix等组件组成。
- Spring Cloud Alibaba是Spring Cloud的第二代实现,主要由Nacos、Sentinel、Seata等组件组成。
- Spring Cloud K8s是Spring Cloud的第三代实现
2. Spring Cloud版本演进
2015年基于Netflix OSS的解决方案诞生,版本不断更迭,值得一提的是Spring Cloud版本号采用了英国伦敦地铁站的名称来命名,并由地铁站名称字母A-Z依次类推的形式来发布迭代版本,例如Angel是第一个版本, Brixton是第二个版本。当SpringCloud的发布内容积累到临界点或者一个重大BUG被解决后,会发布一个"service releases"版本,简称SRX版本,比如Greenwich.SR2就是SpringCloud发布的Greenwich版本的第2个SRX版本。 截至2023年底,Spring Cloud基于地铁命名的第一代组件基本上全部处于停更维护状态,不再发布新版本。
2018年之后Spring Cloud Kubernetes\Spring Cloud Alibaba引入新的特性和增强, 同时弃用了以前比较乱的版本号管理办法。