- 微服務從小白到專家:Spring Cloud和Kubernetes實戰
- 姚秋辰 張昕 卿睿
- 944字
- 2021-10-29 12:24:34
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。
- 深入理解Django:框架內幕與實現原理
- PyQt從入門到精通
- C語言程序設計
- 假如C語言是我發明的:講給孩子聽的大師編程課
- Visual Basic程序設計習題解答與上機指導
- Microsoft Azure Storage Essentials
- Python機器學習算法: 原理、實現與案例
- Internet of Things with ESP8266
- Processing創意編程指南
- PhoneGap 4 Mobile Application Development Cookbook
- Practical Maya Programming with Python
- HTML5移動前端開發基礎與實戰(微課版)
- ArcPy and ArcGIS(Second Edition)
- Ubuntu Server Cookbook
- 深度學習的數學:使用Python語言