餓了麼全自動API網關Stargate cluster | 掘金 x 餓了麼技術沙龍

編者按:本文系餓了麼架構師-孫立偉在掘金技術社區和餓了麼主辦的《掘金 x 餓了麼技術沙龍 | 架構實踐專場》 活動上的分享整理。此次講師帶來了哪些乾貨?本人有幸參與本次活動,將講師分享內容進行了一個小總結,但願能幫到未能到場的同窗們~受限本人水準,總結可能稍有誤差或者不到位不清晰之處,還望見諒並請指出~前端

演講內容簡介:Stargate Cluster 是一個基於容器的創新型微服務網關,集成了API的權限認證和審計管理。目前已經在餓了麼大規模使用,並與另外一個產品API Portal集成,自動生成了HTTP和SOA的接口文檔,極大的提升了業務系統的研發效率。web

基本概念編程

API(Application Programming Interface,應用程序編程接口)是一些預先定義的函數,應用將自身的服務能力封裝成API,並經過API網關開放給用戶調用。後端

API包括基本信息、先後端的請求路徑和參數以及請求相關協議。架構

API分組app

API分組是同一種業務API的集合,一個API分組可視爲一種服務(如徵信查詢服務)。API開發者以API分組爲單位,管理分組內的全部API。函數

環境微服務

環境定義了API生命週期管理過程當中的不一樣狀態,API能夠被髮布到不一樣的自定義環境中。測試

流量控制3d

流量控制支持從用戶、應用和時間段等維度限制對API的調用次數,保護後端服務。

應用

應用(APP)定義了一個API調用者的身份。能夠將一個API受權給多個應用,也能夠將多個API受權給同一個應用。

歸納: API網關不是一個業務系統,它是一個相似於請求轉發的系統,它的存在是控制請求的業務權限統一化管理的。

Stargate Cluster 功能特色

• 將RPC服務⾃動映射成HTTP API服務

• 深度整合發佈系統, HTTP服務實現⾃動化部署

• 持Groovy腳本

• 每一個業務都是獨⽴的Docker集羣,互不影響

cluster會把接口轉成http接口提供給前端,以下圖

上圖的前端是包括web app 第三方,經過HTTP接口調用Stargate cluster,Stargate cluster進行一系列的鑑權校驗,權限控制等,而後把流量打到具體的後端業務系統

Stargate cluster支持http和cpc,開發者只須要提交接口定義,前端就能夠進行工做

提交後cluster提供全自動化部署,自動部署支持測試環境,線上環境,cluster還支持自動生成HTTP文檔,省去開發人員編寫文檔的時間

cluster好處:

每一個公司都在作API網關,對比餓了麼跟某雲廠

優勢:

1,餓了麼實現了自動化部署上線

2,自動轉義HTTP接口

3,支持HTTP和RPC

缺點:

1,沒有SDK

2,不知道目前承載的QPS

相關文章
相關標籤/搜索