統(tǒng)一解決:認證、鑒權、安全、流量管控、緩存、服務路由,協(xié)議轉(zhuǎn)換、服務編排、熔斷、灰度發(fā)布、監(jiān)控報警等

自定義組件擴展
1)除產(chǎn)品內(nèi)置的組件外,用戶可以根據(jù)行業(yè)需求自定義組件,輸出成Jar包,通過Admin上傳發(fā)布即可。
2)網(wǎng)關根據(jù)API配置動態(tài)加載新的組件,無需重啟服務器。
多維度的認證授權策略
1)網(wǎng)關提供多種認證模式,如:Token、Basic、IP地址等,只有通過認證的客戶端才能進一步訪問網(wǎng)關暴露的服務。
2)認證通過后再檢測客戶端是否有權限訪問指定的API


流量控制策略
1)在APIGW Admin中配置API流量閾值,如:每秒、每分、每小時的請求次數(shù)限制,當流量超過閾值,新來的請求會被網(wǎng)關攔截,確保后端服務可以正常運行。
2)客戶可以根據(jù)需求選擇集群或者單網(wǎng)關節(jié)點的流量控制;
服務編排控制
1)服務編排:對于APP或者前端Web應用,存在一個頁面需要集成多個后端服務數(shù)據(jù)的情況而其是遠程連接,導致大部分的時間都消耗在建立連接上; 為此可以通過管理中心將多個后端服務編排成一個新的服務,由網(wǎng)關將每個后端服務的數(shù)據(jù)聚合后再返回給客戶端,提高頁面的響應速度。


服務轉(zhuǎn)換與數(shù)據(jù)緩存
1)后端服務路由和協(xié)議轉(zhuǎn)換:網(wǎng)關對外統(tǒng)一暴露的是Rest服務,但后端服務確實多樣的,客戶開發(fā)人員可以根據(jù)后端服務接口類型開發(fā)不同的路由轉(zhuǎn)換組件。按照約定的格式打成Jar包,通過管理中心發(fā)布即可使用; 網(wǎng)關默認提供Rest風格的服務路由。
2)API數(shù)據(jù)緩存:對于查詢類型且數(shù)據(jù)變化不頻繁的API,適當?shù)木彺嬖O置可以有效降低后端服務的壓力;管理人員可以根據(jù)API服務的特點配置是否需要緩存已經(jīng)緩存更新的策略。 網(wǎng)關接收到請求后會判斷API是否有設置緩存,如果有且緩存未過期網(wǎng)關直接從緩存提取數(shù)據(jù)并返回給客戶端,如果已經(jīng)過期則通過路由組件訪問后端后在更新緩存;該機制對后端服務開發(fā)人員是透明的,只需要在管理中心設置即可生效。
API設計、在線測試、快速開發(fā)
1)產(chǎn)品提供了可視化的API設計功能,產(chǎn)品經(jīng)理等非技術人員可以無障礙快速設計API,構建模擬數(shù)據(jù),在無開發(fā)人員的介入情況完成前期設計對接;
2)服務調(diào)用者可以在線測試,服務提供方開發(fā)人員可以下載模板工程,填寫相關的業(yè)務邏輯代碼即可,系統(tǒng)自動提供了相關的腳手架代碼。


基于DB快速創(chuàng)建API
1)支持連接各類數(shù)據(jù)源通過編寫SQL快速創(chuàng)建API的能力,尤其是對于一些外購系統(tǒng)(無源碼)可以直接通過DB開放API,高效、便捷、安全。
API監(jiān)控告警
1)通過監(jiān)控平臺提供了API調(diào)用過程的各種統(tǒng)計報表,便于運維人員提前規(guī)避風險;
2)管理人員可以自定義各種報警規(guī)則,系統(tǒng)將自行監(jiān)控并推送告警信息。


服務超時和熔斷處理
1)服務超時和熔斷處理:網(wǎng)關對于穩(wěn)定性和性能要求非常高,不能因為個別API響應緩慢或者無法提供服務導致整個網(wǎng)關堵塞。為此網(wǎng)關為所有注冊的API提供了超時處理機制,管理員可以根據(jù)API的特點設置合理的超時時間,當響應超時網(wǎng)關直接返回超時異?;蛘逜PI預設置的異常返回數(shù)據(jù); 如果某個API服務連續(xù)多次請求無響應,系統(tǒng)會自動熔斷對該API的請求,從而避免每次請求過來都需要觸發(fā)超時和服務返回異常才返回客戶端,當服務恢復后網(wǎng)關會自動恢復熔斷鏈路。
| 功能點 | 功能點介紹 |
|---|---|
| 認證 | 支持4種認證方式,包括:Baisc認證、JWT認證、微信小程序Token認證、NULL認證(放行) |
| 鑒權 | 支持2種授權方式,包括:基于接入應用進行授權、NULL授權(放行) |
| 微信小程序支持 | 對小程序類型的客戶端應用進行了特殊處理,簡化小程序?qū)ξ⑿庞脩暨M行認證,后端服務只需要關系業(yè)務邏輯。 |
| 流量管控 | 支持2種流程管理,包括: 1、基于客戶端應用進行流量管控,防止客戶端惡意獲取數(shù)據(jù); 2、基于API的流量管理,保護上游服務,支持按天、小時、分鐘、秒等多種緯度進行限流; 3、支持本地和分布式限流; |
| 緩存 | 緩存API后端服務返回的數(shù)據(jù),降低后端服務壓力。 |
| 安全防護 | 保護API的安全是API網(wǎng)關重任: 1、客戶端身份認證; 2、只有授權的應用才能訪問對應的API; 3、公私鑰算法保護API接口調(diào)用和數(shù)據(jù)傳輸安全; 4、IP白名單、黑名單機制; 5、防重放; 6、通過組件二次開發(fā)可以擴展很多定制安全功能,如:設備id,地理位置、敏感數(shù)據(jù)二次檢驗等; |
| 服務路由 | 1、識別請求參數(shù)和路徑轉(zhuǎn)發(fā)上游API服務; 2、服務地址偽裝,可將內(nèi)部服務偽裝成一個不易識別的地址暴露到公網(wǎng); |
| 日志記錄 | 默認以分鐘緯度對API調(diào)用情況進行匯總記錄,也支持配置第三方服務記錄完整的API調(diào)用詳細信息,方便自定義審計和統(tǒng)計。 |
| 服務注冊和暴露 | 支持Http rest、Webservice服務注冊和暴露。 |
| 協(xié)議轉(zhuǎn)換 | 1、支持將Webservice服務轉(zhuǎn)換成Restful對外提供服務; 2、引入腳本引擎,支持各類參數(shù)自定義轉(zhuǎn)換; 3、擴展協(xié)議轉(zhuǎn)換組件,實現(xiàn)更多類型的服務接入平臺; |
| 負載均衡|心跳檢測 | 支持網(wǎng)關內(nèi)部負載均衡,用戶可以選擇注冊代理和服務實例地址,網(wǎng)關通過心跳檢測機制自動探測服務實例的可用性。 |
| 服務編排 | 1、提供WebIDE實現(xiàn)圖形化的方式編輯服務流程; 2、將各種類型的異構服務以SOA的形式進行編排,替代原有ESB系統(tǒng),更加高效、快捷; |
| DB快速開發(fā) | 對接各種數(shù)據(jù)源,無需應用快速生成新的API。 |
| dubbo集成 | 無需編寫代碼,自動將dubbo轉(zhuǎn)化為restful服務。 |
| 超時控制 | 通過API配置訪問超時時間,超時后立即返回,避免工作線程長時間等等。 |
| 灰度發(fā)布 | 產(chǎn)品支持讓指定部分客戶端應用使用新版本API,其他應用繼續(xù)使用以前的API,當新版本的API逐漸穩(wěn)定后,所有用戶能平滑過渡到新版本的API。使用灰度發(fā)布能夠及早獲得用戶的意見反饋,完善產(chǎn)品功能,提升產(chǎn)品質(zhì)量。讓用戶參與產(chǎn)品測試,加強與用戶互動,降低產(chǎn)品升級所影響的用戶范圍。 |
| 熔斷、自動恢復 | 后端服務N秒內(nèi)連續(xù)X%調(diào)用出現(xiàn)超時或者異常,系統(tǒng)自動熔斷該服務,M秒后嘗試恢復鏈路;該機制可以有效避免無效等等。 |
| 動態(tài)配置更新 | 運行時變更API、分組、組件等配置,自動同步、及時生效。 |
| API系統(tǒng)遷移 | 支持API以系統(tǒng)維度接入API網(wǎng)關,自動紀錄API,讓API系統(tǒng)遷移自動化。 |
| 高可用 | 產(chǎn)品支持企業(yè)級高可用部署,避免單點故障。 |
| 高性能 | 網(wǎng)關無狀態(tài),支持橫向擴展,運行時弱依賴持久層,最大化提升網(wǎng)關整體性能。 |
| 分布式緩存(redis) | 當系統(tǒng)API緩存量大時,可使用redis集群提高系統(tǒng)的響應。 |
| 自定義組件開發(fā) | 支持自定義組件開發(fā),動態(tài)加載,在不中斷網(wǎng)關服務的情況下重新加載配置和運行組件;企業(yè)可根據(jù)自身業(yè)務需求擴展更多組件。 |
| 自定義規(guī)則報警 | 支持自定義規(guī)則報警,采用短信、郵件等方式通知運維人員。 |
| 管理中心 | 1、服務注冊、更新、刪除、發(fā)布、歷史版本切換、綁定組件、應用授權、在線測試、服務導入、導出、Swagger集成等; 2、組件管理,上傳、編輯、發(fā)布組件等; 3、客戶端應用管理,新建、編輯、刪除、授權、導出文檔等; 4、系統(tǒng)報警訂閱、網(wǎng)關|監(jiān)控中心|Redis|Zookeeper節(jié)點維護; 5、角色管理、用戶管理、郵件系統(tǒng)設置、短信平臺設置、黑白名單維護等; |
| 監(jiān)控中心 | 1、API平均響應時間、調(diào)用次數(shù)、正確率、流量等多種緯度報表; 2、統(tǒng)計API被消費的情況; 3、查看API調(diào)用明細,包括詳細入?yún)⑿畔⒑头祷亟Y果等; 4、從客戶端應用的緯度統(tǒng)計其調(diào)用了哪些API,調(diào)用情況等; 5、熔斷面板展示; 6、各類告警信息統(tǒng)計; |