新聞中心
以及如何充分利用兩者

如果您從事微服務(wù),那么您可能已經(jīng)多次聽說過這兩個術(shù)語。 人們常常在兩者之間感到困惑。 在本文中,我將詳細(xì)討論服務(wù)網(wǎng)格和API網(wǎng)關(guān),并討論何時使用。
網(wǎng)絡(luò)層刷新
在深入研究服務(wù)網(wǎng)格和API網(wǎng)關(guān)之前,讓我們重新訪問網(wǎng)絡(luò)層。 以下是OSI網(wǎng)絡(luò)層模型:
進行此更新的原因是,我們將在下一部分中討論其中的一些層。
服務(wù)網(wǎng)格
服務(wù)網(wǎng)格是一種管理分布式軟件系統(tǒng)中服務(wù)到服務(wù)通信的技術(shù)。 服務(wù)網(wǎng)格管理東西向的網(wǎng)絡(luò)通信。 東西向流量表示數(shù)據(jù)中心,Kubernetes集群或分布式系統(tǒng)內(nèi)部的流量。
服務(wù)網(wǎng)格包含兩個重要組件:
- 控制平面
- 數(shù)據(jù)平面
駐留在應(yīng)用程序旁邊的代理稱為數(shù)據(jù)平面,而協(xié)調(diào)代理行為的管理組件稱為控制平面。
服務(wù)網(wǎng)格使您可以將應(yīng)用程序的業(yè)務(wù)邏輯與網(wǎng)絡(luò),可靠性,安全性和可觀察性分開。
網(wǎng)絡(luò)和流量管理
服務(wù)網(wǎng)格允許您執(zhí)行動態(tài)服務(wù)發(fā)現(xiàn)。 Sidecar代理可以幫助您進行負(fù)載平衡和速率限制。 它可以幫助您進行流量拆分,以執(zhí)行A / B類型的測試,這對于發(fā)布Canary版本很有幫助。
可觀察性和可靠性
服務(wù)網(wǎng)格支持分布式跟蹤,可幫助您進行高級監(jiān)視(請求數(shù),成功率和響應(yīng)延遲)和調(diào)試。 它甚至具有利用服務(wù)間通信來更好地理解通信的能力。
由于服務(wù)網(wǎng)格提供了運行狀況檢查,重試,超時和電路中斷,因此可以提高應(yīng)用程序的基準(zhǔn)可靠性。
安全
服務(wù)網(wǎng)格允許服務(wù)之間的相互TLS,這有助于提高服務(wù)到服務(wù)通信的安全性。 您還可以將訪問控制列表(ACL)實施為安全策略。
真正的服務(wù)網(wǎng)格/邊車代理支持廣泛的服務(wù),并實現(xiàn)L4 / L7流量策略。
市場上有許多可用的服務(wù)網(wǎng)格。 以下是其中一些:
- Istio
- Linkerd
- uma
- consul
您可以在互聯(lián)網(wǎng)上找到許多比較上面列出的服務(wù)網(wǎng)格的文章。
API網(wǎng)關(guān)
API網(wǎng)關(guān)充當(dāng)進入集群,數(shù)據(jù)中心或一組分布式服務(wù)的單個入口點。 在網(wǎng)絡(luò)拓?fù)渲?,通常稱為南北向流量。 通常,移動客戶端屬于這種類型的網(wǎng)絡(luò)流量。
人們最終很有可能最終會使用API網(wǎng)關(guān)在同一數(shù)據(jù)中心內(nèi)部署的兩種產(chǎn)品之間進行通信。 在這種情況下,交通類型可以是東西向。
API網(wǎng)關(guān)接收來自客戶端的調(diào)用,并將其路由到適當(dāng)?shù)姆?wù)。 在這樣做的同時,它也可以翻譯協(xié)議。
使用API網(wǎng)關(guān)有很多好處:
- 抽象:API網(wǎng)關(guān)可以抽象其下的微服務(wù)的復(fù)雜性,并為客戶端創(chuàng)建統(tǒng)一的體驗
- 身份驗證:API網(wǎng)關(guān)可以處理身份驗證并將令牌信息傳遞給服務(wù)
- 流量控制:API網(wǎng)關(guān)可以限制入站和出站API流量
- API監(jiān)控/獲利:如果您打算通過API獲利,API網(wǎng)關(guān)可以通過提供監(jiān)視客戶端的API請求/響應(yīng)的功能來幫助您做到這一點
- 轉(zhuǎn)換:API網(wǎng)關(guān)可以幫助轉(zhuǎn)換/轉(zhuǎn)換API請求/響應(yīng)。 它還可以幫助協(xié)議翻譯。
API網(wǎng)關(guān)通常僅關(guān)注L7策略。
API網(wǎng)關(guān)的類型
從部署的角度來看,可以使用兩種方式使用API網(wǎng)關(guān):
- 內(nèi)部API網(wǎng)關(guān):充當(dāng)一組服務(wù)或產(chǎn)品范圍的網(wǎng)關(guān)
- Edge API網(wǎng)關(guān):充當(dāng)外部組織的消費者或移動客戶端的網(wǎng)關(guān)
市場上有許多API網(wǎng)關(guān)。 以下是其中一些:
- Apigee
- NGINX的API網(wǎng)關(guān)
- Software AG的API網(wǎng)關(guān)
何時使用什么
現(xiàn)在您已經(jīng)了解了什么是服務(wù)網(wǎng)格和API網(wǎng)關(guān),讓我們嘗試了解何時使用什么。
何時使用服務(wù)網(wǎng)格
- 當(dāng)您需要在同一產(chǎn)品范圍內(nèi)通過安全性和監(jiān)視來實現(xiàn)L4 / L7服務(wù)通信時
- 何時可以為每個單個服務(wù)實例及其副本部署Sidecar代理
- 當(dāng)服務(wù)可以共享相同的CA證書以建立安全的通信時(跨各種產(chǎn)品可能無法實現(xiàn))
何時使用API網(wǎng)關(guān)
- 當(dāng)您需要通過各種產(chǎn)品的安全性和監(jiān)視來實現(xiàn)L7服務(wù)通信時
- 當(dāng)您希望通過/不通過貨幣化將API公開為產(chǎn)品時
- 當(dāng)您想向開發(fā)人員提供完整的API生命周期管理時
- 當(dāng)您需要翻譯服務(wù)通信協(xié)議時
服務(wù)網(wǎng)格和API網(wǎng)關(guān)一起
服務(wù)網(wǎng)格和API網(wǎng)關(guān)很可能可以共存。 下圖展示了服務(wù)網(wǎng)格和API網(wǎng)關(guān)共存的場景:
網(wǎng)頁標(biāo)題:服務(wù)網(wǎng)格和API網(wǎng)關(guān)在微服務(wù)架構(gòu)中的作用
文章鏈接:http://www.fisionsoft.com.cn/article/cojihii.html


咨詢
建站咨詢
