您好,登錄后才能下訂單哦!
這篇文章主要介紹“服務網格和API網關在微服務架構中的作用是什么”,在日常操作中,相信很多人在服務網格和API網關在微服務架構中的作用是什么問題上存在疑惑,小編查閱了各式資料,整理出簡單好用的操作方法,希望對大家解答”服務網格和API網關在微服務架構中的作用是什么”的疑惑有所幫助!接下來,請跟著小編一起來學習吧!
以及如何充分利用兩者
如果您從事微服務,那么您可能已經多次聽說過這兩個術語。 人們常常在兩者之間感到困惑。 在本文中,我將詳細討論服務網格和API網關,并討論何時使用。
網絡層刷新
在深入研究服務網格和API網關之前,讓我們重新訪問網絡層。 以下是OSI網絡層模型:
進行此更新的原因是,我們將在下一部分中討論其中的一些層。
服務網格
服務網格是一種管理分布式軟件系統中服務到服務通信的技術。 服務網格管理東西向的網絡通信。 東西向流量表示數據中心,Kubernetes集群或分布式系統內部的流量。
服務網格包含兩個重要組件:
控制平面
數據平面
駐留在應用程序旁邊的代理稱為數據平面,而協調代理行為的管理組件稱為控制平面。
服務網格使您可以將應用程序的業務邏輯與網絡,可靠性,安全性和可觀察性分開。
網絡和流量管理
服務網格允許您執行動態服務發現。 Sidecar代理可以幫助您進行負載平衡和速率限制。 它可以幫助您進行流量拆分,以執行A / B類型的測試,這對于發布Canary版本很有幫助。
可觀察性和可靠性
服務網格支持分布式跟蹤,可幫助您進行高級監視(請求數,成功率和響應延遲)和調試。 它甚至具有利用服務間通信來更好地理解通信的能力。
由于服務網格提供了運行狀況檢查,重試,超時和電路中斷,因此可以提高應用程序的基準可靠性。
安全
服務網格允許服務之間的相互TLS,這有助于提高服務到服務通信的安全性。 您還可以將訪問控制列表(ACL)實施為安全策略。
真正的服務網格/邊車代理支持廣泛的服務,并實現L4 / L7流量策略。
市場上有許多可用的服務網格。 以下是其中一些:
Istio
Linkerd
uma
consul
您可以在互聯網上找到許多比較上面列出的服務網格的文章。
API網關
API網關充當進入集群,數據中心或一組分布式服務的單個入口點。 在網絡拓撲中,通常稱為南北向流量。 通常,移動客戶端屬于這種類型的網絡流量。
人們最終很有可能最終會使用API網關在同一數據中心內部署的兩種產品之間進行通信。 在這種情況下,交通類型可以是東西向。
API網關接收來自客戶端的調用,并將其路由到適當的服務。 在這樣做的同時,它也可以翻譯協議。
使用API網關有很多好處:
抽象:API網關可以抽象其下的微服務的復雜性,并為客戶端創建統一的體驗
身份驗證:API網關可以處理身份驗證并將令牌信息傳遞給服務
流量控制:API網關可以限制入站和出站API流量
API監控/獲利:如果您打算通過API獲利,API網關可以通過提供監視客戶端的API請求/響應的功能來幫助您做到這一點
轉換:API網關可以幫助轉換/轉換API請求/響應。 它還可以幫助協議翻譯。
API網關通常僅關注L7策略。
API網關的類型
從部署的角度來看,可以使用兩種方式使用API網關:
內部API網關:充當一組服務或產品范圍的網關
Edge API網關:充當外部組織的消費者或移動客戶端的網關
市場上有許多API網關。 以下是其中一些:
Apigee
NGINX的API網關
Software AG的API網關
何時使用什么
現在您已經了解了什么是服務網格和API網關,讓我們嘗試了解何時使用什么。
何時使用服務網格
當您需要在同一產品范圍內通過安全性和監視來實現L4 / L7服務通信時
何時可以為每個單個服務實例及其副本部署Sidecar代理
當服務可以共享相同的CA證書以建立安全的通信時(跨各種產品可能無法實現)
何時使用API網關
當您需要通過各種產品的安全性和監視來實現L7服務通信時
當您希望通過/不通過貨幣化將API公開為產品時
當您想向開發人員提供完整的API生命周期管理時
當您需要翻譯服務通信協議時
服務網格和API網關一起
服務網格和API網關很可能可以共存。 下圖展示了服務網格和API網關共存的場景:
到此,關于“服務網格和API網關在微服務架構中的作用是什么”的學習就結束了,希望能夠解決大家的疑惑。理論與實踐的搭配能更好的幫助大家學習,快去試試吧!若想繼續學習更多相關知識,請繼續關注億速云網站,小編會繼續努力為大家帶來更多實用的文章!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。