螞蟻金服mPaaS服務端核心元件體系概述:移動API閘道器MGS
根據《開篇 | mPaaS 服務端核心元件體系概述》,我們已經初步瞭解 mPaaS 平臺後端各元件的核心架構體系。
而在 mPaaS 服務端眾多元件中,移動 API 閘道器 MGS 是連線移動客戶端與服務端的元件產品。它簡化了移動端與服務端的資料協議和通訊協議,從而能夠顯著提升開發效率和網路通訊效率,是整個 mPaaS 服務中的核心入口。
接下來我們將著重圍繞 mPaaS MGS 展開介紹,進一步瞭解這款能力有哪些特質:
為什麼需要移動API閘道器
| 行動網路接入架構演進
傳統的單應用架構在團隊與業務增長,支撐多團隊多業務並行研發方面越發力不從心。伴隨近年微服務架構風格的流行,越來越多的企業將自身服務微服務化,之前的大應用被拆分成為了多個分散的服務提供出來。與此同時,隨著移動網際網路、普惠金融等新機會的迅猛發展,企業越來越迫切地希望將現有成熟的後端服務開放出去。
此時在面對複雜的行動網路環境,前有 Android/iOS/H5/小程式等多種前端需要接入,後有零零散散的各個微服務系統需要匯出,就很有必要有一套可適用於行動網路環境,高效能高可靠易使用,路由不同型別前端與各個後端微服務,幫助各個服務提供統一的限流,快取,安全,監控等處理的移動 API 閘道器做後端總入口。
mPaaS MGS
| 現代化行動網路接入架構最佳實踐
mPaaS 上的移動 API 閘道器 MGS,來源於支付寶 App 多年億級網路服務技術的積累。在螞蟻內支撐了支付寶、口碑、網商、聚寶、香港版等多個 App 數百個服務上萬個 API,常年保持 99.9999+% 高可用率,具有足夠的穩定性。
作為行動網路技術中“__客戶端到服務端請求-響應模型__”服務,經歷了多年雙十一、雙十二、春節紅包活動的海量請求考驗。在螞蟻金融雲公有云與私有云上,也為 12306,廣發銀行,上海地鐵等客戶提供了高效能高可靠海量服務的支撐。
MGS 底層利用 Netty 實現了高效的非同步非阻塞服務,4c8g 單機 QPS 可達 1 萬+/s。
前端支援 http / http2 / mmtp 等協議,支援 JSON / protobuf 等傳輸格式,支援客戶端 RPC 與 H5 標準 Rest 請求,可廣泛適用於各種終端請求接入。
同時,為了更好的支援雲上客戶已有業務的需要,MGS 後端支援了 HTTP / Dubbo / SOFA / HRPC / MPC 等異構後端,最大程度相容業務原有服務,還可以用 MGS 提供的 SPI SDK 直接在 API 函式簽名上使用註解註冊到配置中心,通過服務發現免去手動註冊 API 的繁瑣。
MGS 還內建了簡潔易用的 Web 管控頁面,能輕鬆管理租戶內 App 全域性與各個 API 的功能配置,包括__配置簽名校驗 / 結果快取 / 超時設定 / API 限流 / API Mock / API 授權 / 資料加密 / CORS 跨域 / 資料模型 / 後端地址__等,更改的配置寫入 DB 後會非同步重新整理到機房內各個閘道器節點,保證閘道器在處理客戶端請求時沒有 DB 等額外 IO 操作,進一步提升整體效能。
MGS 廣泛用於包括金融地鐵等公共服務領域,為了滿足金融級安全監管要求,保障使用者資料的安全性,客戶端網路 SDK 為每個請求資料增加簽名,然後通過 RSA / ECC / 國密等加密演算法對資料加密傳輸到閘道器。
閘道器會驗籤核對身份並將資料解密後轉發到後端業務,後端服務處理完成後閘道器會再加密返回客戶端。 通過這些措施,讓研發同學專注處理業務的同時不用為網路資料安全擔心。
在面對海量請求時,MGS 會通過結果快取,超時設定,API 限流等功能來幫助後端提高效能,提供過載保護,這樣當大促等高峰期流量過來時,業務服務仍然能夠正常執行,從而保證了業務系統的穩定性,防止高峰期時後臺伺服器被壓垮。
同時閘道器支援限流時配置客戶端提示使用者的文案,方便產品運營定製。
藉助 API 授權功能,業務可以很方便地通過 MGS 定製包括授權,Session 控制等旁路能力,授權介面本身也以閘道器 API 形式定義,可與其他 API 一樣設定快取限流等各種配置,從而統一業務程式設計模型。另外閘道器 SPI SDK 還支援切面攔截,方便業務服務內整體擴充套件。
在日常開發測試時,MGS 提供了 API Mock 與 API Test 方便 API 開發測試。
通過 API 客戶端程式碼生成(Android/iOS/JS),自動生成多端 SDK,實現前後端分離,配合 SDK,讓業務研發同學專注業務邏輯,無需關心底層通訊細節,團隊內也無需網路專家,即可直接借力支付寶多年網路優化經驗,從紛繁複雜的行動網路開發中解放,最大化業務開發效率,讓研發從此愛上 API 研發。
最後,MGS 還提供了完整的資料監控與問題排查方案,通過給每個請求生成唯一的 traceID 做鏈路跟蹤,結合不同型別的錯誤碼,可在出現問題時串起整個鏈路,迅速定位問題找到原因。
mPaaS MGS 展望
| 支付寶億級閘道器架構能力開放
MGS 除了上述能力外,後續還會不斷升級,為業務帶來更專業更高效的閘道器服務,包括開放 ABTest灰度、HTTP2 協議、移動排程、多機房多活等功能,用支付寶多年技術積累助力企業服務技術升級。
結語
通過本節內容,相信大家對 mPaaS 移動 API 閘道器服務 MGS 有了初步認識。
關於閘道器功能詳細介紹,可以參考 mPaaS 移動閘道器官方文件:
http://t.cn/EUqYgZC
後續我們將針對 mPaaS 其他服務元件的設計與優化,展開更多探討。
往期閱讀
關注我們微信公眾號「mPaaS」,獲得第一手 mPaaS 技術實踐乾貨
相關文章
- 螞蟻金服 mPaaS 服務端核心元件體系概述:移動 API 閘道器 MGS服務端元件API
- 開篇 | 螞蟻金服 mPaaS 服務端核心元件體系概述服務端元件
- 螞蟻金服 mPaaS 服務端核心元件:億級併發下的移動端到端網路接入架構解析服務端元件架構
- mPaaS 服務端核心元件:移動分析服務 MAS 架構解析服務端元件架構
- mPaaS 服務端核心元件:移動同步服務 MSS 架構解析服務端元件架構
- (螞蟻金服mPaaS)統一儲存
- 使用API閘道器構建移動端友好的API服務API
- 什麼是移動閘道器MGS
- Demo Show | 螞蟻金服 mPaaS IDEA 外掛實踐Idea
- 【工作】螞蟻金服招DBA
- 螞蟻金服 mPaaS 模組化開發與架構重構深度解析架構
- 原始碼剖析 | 螞蟻金服 mPaaS 框架下的 RPC 呼叫歷程原始碼框架RPC
- 螞蟻金服Service Mesh漸進式遷移方案
- 螞蟻金服移動端視覺化解決方案 F2 3.2 正式釋出視覺化
- 9.9螞蟻金服二三輪面試面試
- 螞蟻金服面對億級併發場景的元件體系設計元件
- 【實習】螞蟻金服中介軟體實習生招聘
- 螞蟻金服 Service Mesh 大規模落地系列 - 核心篇
- 服務閘道器過濾器過濾器
- SpringCloud系列之API閘道器(Gateway)服務ZuulSpringGCCloudAPIGatewayZuul
- [從原始碼學設計]螞蟻金服SOFARegistry之服務上線原始碼
- 螞蟻金服 Service Mesh 深度實踐
- 螞蟻金服 Service Mesh 實踐探索
- 螞蟻金服技術長--程立
- 基於.NET CORE微服務框架 -Api閘道器服務管理微服務框架API
- 螞蟻金服的 3D 互動探索之路3D
- 螞蟻金服開源自動化測試框架 SOFAACTS框架
- 微服務(七)Gateway服務閘道器微服務Gateway
- springcloud服務閘道器-gatewaySpringGCCloudGateway
- 移動測試架構演進 | 螞蟻金服自動化用例管理探索架構
- 螞蟻金服招聘中介軟體 Go 語言專家Go
- 服務端指南 服務端概述 | 微服務架構概述服務端微服務架構
- mPaaS 服務端核心元件:訊息推送 MPS 架構及流程設計服務端元件架構
- 螞蟻金服啟動IPO 馬雲將成為全球富豪?
- 阿里同意入股螞蟻金服33%股權 為螞蟻上市鋪路阿里
- 螞蟻金服!前端實習生!內推!提前批!前端
- 螞蟻金服面試經歷-前期準備面試
- 招聘貼:螞蟻金服招Java研發Java