大家好,歡迎來到萬貓學社,跟我一起學,你也能成爲微服務專家。
微服務看起來很美,但其實是需要一個技術體系或平臺體系來支撐並且落地的。微服務架構建設分爲兩種思路:
- 框架模式
- 服務網格(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本必讀技術書籍