為什麼需要關心服務網格
很多開發者不知道為什麼要關心 服務網格 。這是我在開發者見面會、會議和實踐研討會上關於雲原生架構的微服務開發的演講中經常被問到的問題。我的回答總是一樣的:「只要你想簡化你的微服務架構,它就應該運行在 Kubernetes 上。」
關於簡化,你可能也想知道,為什麼分散式微服務必須設計得如此複雜才能在 Kubernetes 集群上運行。正如本文所解釋的那樣,許多開發人員通過服務網格解決了微服務架構的複雜性,並通過在生產中採用服務網格獲得了額外的好處。
什麼是服務網格?
服務網格是一個專門的基礎設施層,用於提供一個透明的、獨立於代碼的 (polyglot) 方式,以消除應用代碼中的非功能性微服務能力。
![Before and After Service Mesh](/data/attachment/album/202104/02/201501mmaxy0c2xgmg5a5w.png "Before and After Service Mesh")
為什麼服務網格對開發者很重要
當開發人員將微服務部署到雲時,無論業務功能如何,他們都必須解決非功能性微服務功能,以避免級聯故障。這些功能通常可以體現在服務發現、日誌、監控、 韌性 、認證、 彈性 和跟蹤等方面。開發人員必須花費更多的時間將它們添加到每個微服務中,而不是開發實際的業務邏輯,這使得微服務變得沉重而複雜。
隨著企業加速向雲計算轉移,服務網格 可以提高開發人員的生產力。Kubernetes 加服務網格平台不需要讓服務負責處理這些複雜的問題,也不需要在每個服務中添加更多的代碼來處理雲原生的問題,而是負責向運行在該平台上的任何應用(現有的或新的,用任何編程語言或框架)提供這些服務。那麼微服務就可以輕量級,專註於其業務邏輯,而不是雲原生的複雜性。
為什麼服務網格對運維很重要
這並沒有回答為什麼運維團隊需要關心在 Kubernetes 上運行雲原生微服務的服務網格。因為運維團隊必須確保在 Kubernetes 環境上的大型混合雲和多雲上部署新的雲原生應用的強大安全性、合規性和可觀察性。
服務網格由一個用於管理代理路由流量的控制平面和一個用於注入 邊車 的數據平面組成。邊車允許運維團隊做一些比如添加第三方安全工具和追蹤所有服務通信中的流量,以避免安全漏洞或合規問題。服務網格還可以通過在圖形面板上可視化地跟蹤指標來提高觀察能力。
如何開始使用服務網格
對於開發者和運維人員,以及從應用開發到平台運維來說,服務網格可以更有效地管理雲原生功能。
你可能想知道從哪裡開始採用服務網格來配合你的微服務應用和架構。幸運的是,有許多開源的服務網格項目。許多雲服務提供商也在他們的 Kubernetes 平台中提供 服務網格。
![CNCF Service Mesh Landscape](/data/attachment/album/202104/02/201501seebg3csgqqee6kz.png "CNCF Service Mesh Landscape")
你可以在 CNCF Service Mesh Landscape 頁面中找到最受歡迎的服務網格項目和服務的鏈接。
via: https://opensource.com/article/21/3/service-mesh
作者:Daniel Oh 選題:lujun9972 譯者:geekpi 校對:wxy
本文轉載來自 Linux 中國: https://github.com/Linux-CN/archive