【從零開始學微服務】06.微服務架構的建設思路

2023-06-29 09:00:33

大家好,歡迎來到萬貓學社,跟我一起學,你也能成為微服務專家

微服務看起來很美,但其實是需要一個技術體系或平臺體系來支撐並且落地的。微服務架構建設分為兩種思路:

  • 框架模式
  • 服務網格(Service Mesh)模式

接下來我們對上面的兩個思路進行詳細的介紹和對比。

框架

框架模式的典型代表是 Spring Cloud,Spring Cloud 是基於 Spring Boot 的一整套微服務開發框架,專注於為典型用例提供良好的開箱即用體驗,並提供覆蓋其他用例的擴充套件機制。

框架模式的底層執行平臺可以是物理實體機或 PaaS 平臺,也可以是 Kuberneters 平臺或 Docker 容器。

框架模式的優勢

面向應用和開發人員,客製化化、協定支援靈活,適合完全自治的服務狀態,方便線下偵錯,對作業系統平臺無依賴。

框架模式的不足

對業務是侵入性的,應用需引入額外的框架或SDK包;需要構建微服務基礎設施做業務能力支撐。

文章持續更新,微信搜尋「萬貓學社」第一時間閱讀,關注後回覆「電子書」,免費獲取12本必讀技術書籍。

服務網格(Service Mesh)

Istio 是服務網格(Service Mesh)模式的典型代表。Istio 擴充套件了 Kubernetes ,使用強大的 Envoy 服務代理建立可程式化的、感知應用程式的網路,為複雜的部署帶來了標準的、通用的流量管理、遙測和安全性。

雖然在Istio的官方檔案上寫著可以同時支援 Kubernetes 和傳統工作負載,但實際上 Istio 更適合在 Kubernetes 上執行,在物理實體機或 PaaS 平臺上有一些侷限性。

ServiceMesh 模式的優勢和不足與 SDK 模式正好相反。

服務網格的優勢

不需要額外引入框架或 SDK 包,對應用無侵入,且對 Kubernetes 天然友好支援;對流量的管控有著非常大的優勢。

服務網格的不足

部署比較複雜,對底層系統有一定的依賴;通訊協定型別支援受限,對 Mesh 平臺的依賴度高;對於分散式場景下的複雜度問題沒有很好的解決手段。

總結

基於框架模式的微服務建設方案已經非常成熟,國內最知名的就是 Spring Cloud 、 Spring Cloud Alibaba 、 Dubbo等等,而基於服務網格(Service Mesh)的建設方案目前各個大廠也都有嘗試和落地,但是要求也更高。

最後,感謝你這麼帥,還給我點贊

微信公眾號:萬貓學社

微信掃描二維條碼

關注後回覆「電子書」

獲取12本必讀技術書籍