微服務架構為什麼要選擇Spring Cloud

現在無論大小公司,都會講究微服務設計,無論應用大小,都會進行微服務架構,面試的時候,也會把微服務當成必談的知識點。那麼什麼是微服務呢?


微服務架構為什麼要選擇Spring Cloud

"微服務"一詞源於Martin Fowler的名為Microservices的文章,當然微服務是翻譯過來的,簡單的來說,微服務是系統架構上的一種設計風格,它的目的就是將一個原本獨立垂直的系統拆分成多個小型服務,這些小型服務都在各自獨立的進程中運行,服務之間是通過基於HTTP的Restful API進行通信協議。這些小型服務都圍繞著系統中一些耦合度較高的業務功能進行構建,如果是按照每個服務進行細分進行拆分的話,會時常涉及到令人頭疼的分佈式事務的解決,所以會按照耦合度較高的服務進行拆分,每個小型服務都維護著自身的數據存儲,業務開發,自動化測試以及獨立部署機制。由於有了輕量級的通信寫協作基礎,所以這些微服務可以用不同的語言來編寫。早些年,我們項目拆分,是使用阿里開源的Dubbo進行分佈式架構拆分,分佈式架構基本是按照某一業務領域應用進行拆分,也可以按照業務中的各個服務進行拆分,所以這也算我接觸到的最早的微服務架構。而如今風勁十足的Spring Cloud,就是完全按照微服務架構來設計和服務的。


微服務架構為什麼要選擇Spring Cloud

在Martin Fowler的Microservices的文章中,提煉出了微服務架構的九大特性,用於指導大家架構設計。

1、服務組件化

2、按業務組織團隊:每個團隊對分配的業務負責到底

3、做產品的態度

4、智能端點與啞管道

5、去中心化治理

6、去中心化管理數據

7、基礎設施自動化

8、容錯設計

9、演進式設計

微服務的熱潮,隨著Spring Cloud的出現,將其推向了碼農界的一個神聖的位置,它對微服務架構提供了巨大支持和強有力的技術後盾。Spring Cloud之所以被廣大的程序猿推崇,是因為它是一個解決微服務架構實施的綜合性解決框架,它整合了諸多被廣泛實踐和證明過的框架作為實施的基礎部件,又在改體系基礎上創建了一些非常優秀的邊緣組件。


微服務架構為什麼要選擇Spring Cloud

Spring Cloud是一個基於Spring Boot實現的微服務架構開發工具,它為微服務架構中涉及到的配置管理、服務治理、斷路器、智能路由、微代理、控制總線、全局鎖、負載均衡、分佈式會話和集群狀態管理等操作提供了一種簡單的開發方式。


微服務架構為什麼要選擇Spring Cloud


微服務架構為什麼要選擇Spring Cloud


微服務架構為什麼要選擇Spring Cloud


微服務架構為什麼要選擇Spring Cloud


微服務架構為什麼要選擇Spring Cloud


微服務架構為什麼要選擇Spring Cloud

如今Spring Cloud的版本已經更新到Hoxton,支持或者兼容的Spring Boot的版本也是要2.2.X,社區活躍度,已經提供全方位的微服務架構解決方案,你還有什麼理由不去選擇它呢?

關於Spring Cloud的版本號,不像其他項目那樣使用類似1.X.X來表示,因為它是一個擁有諸多子項目的大型綜合項目,這些子項目是按照類似1.X.X的方式進行命名,而這些子項目迭代頻率不一樣,所以子項目的版本號就很難統一了,所以對於Spring Cloud的版本命名,就採用了倫敦地鐵站的名字,按照字母A-Z來進行命名了,如最新的Spring Cloud幾個版本和支持的Spring Boot版本如下:

微服務架構為什麼要選擇Spring Cloud


分享到:


相關文章: