餓了麼全自動API閘道器Stargate cluster | 掘金 x 餓了麼技術沙龍

郭達森寫程式碼發表於2019-03-03

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

演講內容簡介:Stargate Cluster 是一個基於容器的創新型微服務閘道器,整合了API的許可權認證和審計管理。目前已經在餓了麼大規模使用,並與另一個產品API Portal整合,自動生成了HTTP和SOA的介面文件,極大的提高了業務系統的研發效率。

基本概念

API(Application Programming Interface,應用程式程式設計介面)是一些預先定義的函式,應用將自身的服務能力封裝成API,並通過API閘道器開放給使用者呼叫。

API包括基本資訊、前後端的請求路徑和引數以及請求相關協議。

API分組

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

環境

環境定義了API生命週期管理過程中的不同狀態,API可以被髮布到不同的自定義環境中。

流量控制

流量控制支援從使用者、應用和時間段等維度限制對API的呼叫次數,保護後端服務。

應用

應用(APP)定義了一個API呼叫者的身份。可以將一個API授權給多個應用,也可以將多個API授權給同一個應用。

概括: API閘道器不是一個業務系統,它是一個類似於請求轉發的系統,它的存在是控制請求的業務許可權統一化管理的。

Stargate Cluster 功能特點

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

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

• 持Groovy指令碼

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

cluster會把介面轉成http介面提供給前端,如下圖

餓了麼全自動API閘道器Stargate cluster | 掘金 x 餓了麼技術沙龍

上圖的前端是包括web app 第三方,通過HTTP介面呼叫Stargate cluster,Stargate cluster進行一系列的鑑權校驗,許可權控制等,然後把流量打到具體的後端業務系統

餓了麼全自動API閘道器Stargate cluster | 掘金 x 餓了麼技術沙龍

Stargate cluster支援http和cpc,開發者只需要提交介面定義,前端就可以進行工作

餓了麼全自動API閘道器Stargate cluster | 掘金 x 餓了麼技術沙龍

餓了麼全自動API閘道器Stargate cluster | 掘金 x 餓了麼技術沙龍

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

餓了麼全自動API閘道器Stargate cluster | 掘金 x 餓了麼技術沙龍

餓了麼全自動API閘道器Stargate cluster | 掘金 x 餓了麼技術沙龍

cluster好處:

餓了麼全自動API閘道器Stargate cluster | 掘金 x 餓了麼技術沙龍

餓了麼全自動API閘道器Stargate cluster | 掘金 x 餓了麼技術沙龍

餓了麼全自動API閘道器Stargate cluster | 掘金 x 餓了麼技術沙龍

餓了麼全自動API閘道器Stargate cluster | 掘金 x 餓了麼技術沙龍

餓了麼全自動API閘道器Stargate cluster | 掘金 x 餓了麼技術沙龍

餓了麼全自動API閘道器Stargate cluster | 掘金 x 餓了麼技術沙龍

每個公司都在做API閘道器,對比餓了麼跟某雲廠

優點:

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

2,自動轉義HTTP介面

3,支援HTTP和RPC

缺點:

1,沒有SDK

2,不知道目前承載的QPS

相關文章