官术网_书友最值得收藏!

4.4 了解Spring Cloud

4.4.1 Spring Cloud簡介

Spring Cloud是由Spring開源組織維護,并由眾多業界知名公司參與貢獻的微服務領域集大成之作。Spring Cloud項目提供了一系列的通用組件,用于快速搭建分布式應用的基礎服務,包括服務注冊與服務發現、配置管理、動態路由、服務間調用、負載均衡、熔斷降級、分布式鎖、鏈路追蹤、消息總線和消息驅動等各種分布式場景用例。它基于Spring Boot搭建,可以在各種分布式環境中快速啟動。

從2014年10月發布了Spring Cloud第一個里程碑版本1.0.0.M1后,Spring Cloud就以旺盛的活力保持著快速更新的節奏,不同于其他開源項目以數字作為版本號的慣例,Spring Cloud以字典序的英文單詞作為大版本,在短短六年間已經發布了第八個里程碑大版本H版(本書選用Hoxton版,適用于實戰項目),從表4-1中可以看出Spring Cloud社區的更新節奏。

表4-1 Spring Cloud的歷史版本發布時間

除大版本外,Spring Cloud還有小版本的分支管理策略,如表4-2所示。

表4-2 Spring Cloud小版本的分支管理策略

通常,SR版本后面會有一個數字,比如SR2,這里的2代表著Release版本發布的第二個SR版本。

4.4.2 Spring Cloud和Spring Boot的關系

我們可以將Spring Boot看作一套快速搭建應用的腳手架,它使用了“約定大于配置”的理念,大幅降低了搭建應用的開發成本,通過內嵌Web容器可以實現簡單部署。Spring Boot集成了很多底層技術框架(比如用來訪問數據庫的spring-data),我們可以在Spring Boot中找到搭建企業級應用所需的各種功能模塊。從Spring社區為Spring Boot定義的宣傳口號就可以看出它的特點:Build Anything——構建一切。

Spring Cloud的基礎功能依賴于Spring Boot,可以把Spring Cloud看作一套構建在Spring Boot之上的微服務解決方案,通過Spring Cloud提供的服務治理、服務容錯、配置管理、服務網關等組件,極大地簡化了微服務架構下各個服務之間的協調和管理。Spring社區賦予Spring Cloud的口號便是:Coordinate Anything——協調一切。

Spring Cloud的特點如下:

? 采用“約定大于配置”的設計思想,簡化了配置工作。

? 快速開發、快速部署上線。

? 組件豐富,技術選型自由度高。

? 組件插件化,組件之間相互耦合度很低,替換起來非常方便。

? 社區異常活躍,版本發布快,新功能和新組件層出不窮。

? 業界知名公司作為貢獻者(Netflix和阿里),組件的性能和可用性已經在大公司業務中得到驗證。

Spring Cloud和Spring Boot有一套嚴格的版本兼容關系,Spring Cloud的每個大版本都有其對應的Spring Boot版本兼容范圍,具體的版本對應關系如表4-3所示。

表4-3 Spring Cloud與Spring Boot的版本搭配

在本書的微服務項目架構升級過程中,我們選擇的Spring Cloud版本是Hoxton.SR 5,Spring Boot版本是2.2.1.RELEASE。

主站蜘蛛池模板: 青冈县| 远安县| 吉木萨尔县| 车致| 突泉县| 万安县| 临颍县| 老河口市| 福贡县| 凤庆县| 绵阳市| 阳江市| 肇庆市| 静安区| 青田县| 哈巴河县| 息烽县| 漯河市| 静海县| 云浮市| 舟山市| 伊宁县| 铜梁县| 高淳县| 扶风县| 新干县| 阳西县| 焉耆| 恩施市| 吉林省| 台山市| 武清区| 偃师市| 景洪市| 沿河| 兖州市| 门源| 青冈县| 张家界市| 峨眉山市| 穆棱市|