1. 程式人生 > >SpringCloud系列第01節之入門

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/>

另附: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 版本之間的關係,也會在這裡面看到

ComponentAngel.SR6Brixton.SR7Camden.SR4Camden.BUILD-SNAPSHOT
spring-cloud-aws1.0.4.RELEASE1.1.3.RELEASE1.1.3.RELEASE1.1.4.BUILD-SNAPSHOT
spring-cloud-bus1.0.3.RELEASE1.1.2.RELEASE1.2.1.RELEASE1.2.2.BUILD-SNAPSHOT
spring-cloud-cli1.0.6.RELEASE1.1.6.RELEASE1.2.0.RC11.2.0.BUILD-SNAPSHOT
spring-cloud-commons1.0.5.RELEASE1.1.3.RELEASE1.1.7.RELEASE1.1.8.BUILD-SNAPSHOT