SpringCloud系列第01節之入門
這是一個持續更新的、一些關於 SpringCloud 周邊的文章
比如它那不走尋常路的版本名、其各元件的功能描述等等
簡介
提到 Spring Cloud,就不得不提微服務中,大名鼎鼎的 Netflix
Netflix 開源了他們家久經實戰考驗的一系列微服務元件,而 Spring Cloud 又對其進行了一系列封裝,使之更便於使用
Spring Cloud 是在 Spring Boot 的基礎上建立的
它是一個包含了諸多子專案(Spring Cloud Bus、Spring Cloud Config、Spring Cloud Netflix)的大型綜合專案
其專案主頁為:< http://projects.spring.io/spring-cloud/>
目前主要包括但不限於以下功能:
- 配置管理(configuration management)
- 服務發現(service discovery,也就是服務註冊中心)
- 斷路器(circuit breakers,也叫熔斷器)
- 智慧路由(intelligent routing,通常用來做 API-Gateway 實現)
- 控制匯流排(control bus)
- 微代理(micro-proxy)
- 全域性鎖(global locks)
- 領導選舉(leadership election)
- 一次性令牌(one-time tokens)
- 分散式會話(distributed sessions)
- 叢集狀態管理(cluster state)
舉個例子:比如 Spring Cloud 的子專案之一 Spring Cloud Netflix
它封裝 Netflix 公司開源的一系列產品,為 SpringBoot 應用提供了自配置的 Netflix OSS 整合
比如:服務發現(Eureka)、斷路器(Hystrix)、智慧路由(Zuul)、客戶端軟負載均衡(Ribbon)等功能
版本名
目前,官網中會看到三個版本名:Angel、Brixton、Camden(注意我的用語是版本名,沒說版本號)
這是由於:SpringCloud 這個包含了諸多子專案的大型綜合專案,它的各子專案版本號都是各自維護的
於是為了管理子專案,避免混淆版本名與子專案版本號,才採用了命名的方式(這些<u>命名目前來看是根據英文字母順序表的</u>)
比如最先發布的綜合版本叫做 Angel,接著就是 Brixton,現在到了 Camden(相信以後會更多,26個字母,應該足夠用吧)
而版本號後面的 .SR
指的是:service releases,簡稱 SRX
(X 是一個遞增數字)
通過其官網下方的 Release train contents: 表格,可以看到目前各版本名所包含的子專案
注意:關於其各版本與 Spring-Boot 版本之間的關係,也會在這裡面看到
Component | Angel.SR6 | Brixton.SR7 | Camden.SR4 | Camden.BUILD-SNAPSHOT |
---|---|---|---|---|
spring-cloud-aws | 1.0.4.RELEASE | 1.1.3.RELEASE | 1.1.3.RELEASE | 1.1.4.BUILD-SNAPSHOT |
spring-cloud-bus | 1.0.3.RELEASE | 1.1.2.RELEASE | 1.2.1.RELEASE | 1.2.2.BUILD-SNAPSHOT |
spring-cloud-cli | 1.0.6.RELEASE | 1.1.6.RELEASE | 1.2.0.RC1 | 1.2.0.BUILD-SNAPSHOT |
spring-cloud-commons | 1.0.5.RELEASE | 1.1.3.RELEASE | 1.1.7.RELEASE | 1.1.8.BUILD-SNAPSHOT |
… | … | … | … | … |
… | … | … | … | … |