大家好,歡迎來到萬貓學社,跟我一起學,你也能成為微服務專家。
微服務看起來很美,但其實是需要一個技術體系或平臺體系來支撐並且落地的。微服務架構建設分為兩種思路:
接下來我們對上面的兩個思路進行詳細的介紹和對比。
框架模式的典型代表是 Spring Cloud,Spring Cloud 是基於 Spring Boot 的一整套微服務開發框架,專注於為典型用例提供良好的開箱即用體驗,並提供覆蓋其他用例的擴充套件機制。
框架模式的底層執行平臺可以是物理實體機或 PaaS 平臺,也可以是 Kuberneters 平臺或 Docker 容器。
面向應用和開發人員,客製化化、協定支援靈活,適合完全自治的服務狀態,方便線下偵錯,對作業系統平臺無依賴。
對業務是侵入性的,應用需引入額外的框架或SDK包;需要構建微服務基礎設施做業務能力支撐。
文章持續更新,微信搜尋「萬貓學社」第一時間閱讀,關注後回覆「電子書」,免費獲取12本必讀技術書籍。
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本必讀技術書籍