service mesh與api gateway有何不同?

Kasun Indrasiri

service mesh與api gateway的關鍵特徵可以幫助我們更好的區分兩者。

API Gateway: 將服務作爲託管api暴露給外部

api gateway的核心目標是將微服務作爲託管的api暴露給外部系統,我們在api gateway層開發api或是邊界服務以提供特定的業務功能。

api/邊界服務調用下游微服務,幷包含業務邏輯的多個服務下游服務組合。

api/邊界服務同時需要以彈性的方式調用下游服務,並應用多種穩定性相關模塊,例如斷路器、超時、負載均衡/故障轉移等等。大多數api gateway解決方案均內置以上模塊或功能。

api gateway往往同時包含內置的服務發現、分析(指標、監控、分佈式日誌、分佈式跟蹤)以及安全。

api gateway常與api管理生態中的一些其他組件協作,例如api商店、api分發門戶。

service mesh

那麼再看看service mesh有何不同。

我們可以認爲service mesh是網絡通信基礎設施,它允許我們從服務代碼中剝離大部分應用網絡功能。

在service mesh下,我們處理service-to-service通信時,不需要刻意在服務代碼中實現包括斷路器、超時等彈性通信功能特性。同樣的,service mesh提供服務發現、監控等功能。

api gateway和service mesh

api gateway和service mesh最大的不同在於,api gateway是暴露api/邊界服務的關鍵部分,而service mesh僅僅是一種服務間通信的基礎設施,不包含任何業務概念。

上圖說明了api gateway和service mesh的所處。除了上面提到的不同點,api gateway和service mesh之間存在着很多重疊特性,但需要特別注意的是兩者所針對的要求和需求不同。

圖中service mesh以sidecar形勢,與其他服務一起部署,獨立於服務的業務功能。

而api gateway託管了所有的api服務,屬於業務功能解決方案的一部分。api gateway可能會包含服務間通信的支持,但並不影響api gateway通過service mesh來調用下游服務。

閱讀更多

開源PaaS Rainbond原生支持Service Mesh服務網格,用非入侵、透明化的方式解決服務發現和註冊、彈性伸縮與負載均衡、容錯處理(斷路器與限流)、監控與警報、數據存儲與共享、日誌分析等等微服務架構難題,提供開箱即用、簡單強大的微服務體驗。

請訪問Rainbond或試用公有云進一步瞭解Rainbond如何實現Service Mesh微服務治理

發佈了84 篇原創文章 · 獲贊 25 · 訪問量 18萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章