SpringCloud 簡介

什麼是微服務?

  • 《互聯網系統架構演變》

  • 「微服務」一詞源於 Martin Fowler 的一篇名為 Microservices 的博文,可以在他的官方博客上找到 //martinfowler.com/articles/microservices.html

  • 微服務是系統架構上的一種設計風格,它的主旨是將一個原本獨立的系統拆分成多個小型服務,這些小型服務都在各自獨立的進程中運行。服務之間一般通過 HTTP 的 RESTfuLAPI 進行通信協作。

  • 被拆分成的每一個小型服務都圍繞着系統中的某一項或些耦合度較高的業務功能進行構建,並且每個服務都維護着自身的數據存儲、業務開發自動化測試案例以及獨立部署機制。

  • 由於有了輕量級的通信協作基礎,所以這些微服務可以使用不同的語言來編寫。

初識 SpringCloud

SpringCloud 官網

image

  • SpringCloud 是一系列框架的有序集合。

  • SpringCloud 並沒有重複製造輪子,它只是將目前各家公司開發的比較成熟、經得起實際考驗的服務框架組合起來。

  • SpringCloud 通過 SpringBoot 風格進行再封裝屏蔽掉了複雜的配置和實現原理,最終給開發者留出了一套簡單易懂、易部署和易維護的分佈式系統開發工具包。

  • 它利用 SpringBoot 的開發便利性巧妙地簡化了分佈式系統基礎設施的開發,如服務發現註冊、配置中心、消息總線、負載均衡、 斷路器、數據監控等,都可以用 SpringBoot 的開發風格做到一鍵啟動和部署。

  • SpringCloud 版本命名方式採用了倫敦地鐵站的名稱,同時根據字母表的順序來對應版本時間順序,比如最早的 Release 版本是 Angel,第二個 Release 版本是 Brixton,然後是 Camden、Dalston、Edgware、Finchley、Greenwich、Hoxton。

image

SpringCloud VS Dubbo

  • SpringCloud 與 Dubbo 都是實現微服務有效的工具。

  • Dubbo 只是實現了服務治理,而 SpringCloud 子項目分別覆蓋了微服務架構下的眾多部件。

  • Dubbo 使用 RPC 通訊協議,SpringCloud 使用 RESTful 完成通信,Dubbo 效率略高於 SpringCloud。

image