摘要:用戶以 APP 作爲請求 API 的身份,網關支持針對 APP 的權限控制。從整個功能的介紹可以看到對於API的全生命週期管理(註冊,接入,代理,路由,負載均衡),安全,權限,流量控制,監控和告警等是所有API網關都必須具備的功能。

API 網關(API
Gateway),是提供API託管服務,涵蓋API發佈、管理、運維、售賣的全生命週期管理。輔助用戶簡單、快速、低成本、低風險的實現微服務聚合、前後端分離、系統集成,向合作伙伴、開發者開放功能和數據。核心的API網關功能可以參考如下:
    <b>API 生命週期管理</b>

支持包括API 註冊和接入發佈、API 測試、API 下線等生命週期管理功能。支持 API 日常管理、API
版本管理、API 快速回滾等維護功能。基本需要覆蓋API管理全生命週期。
    <b>全面的安全防護</b>

支持多種認證方式,支持 HMAC (SHA-1,SHA-256) 算法簽名。支持 HTTPS 協議,支持 SSL
加密。防攻擊、防注入、請求防重放、請求防篡改。(沒看到是否支持Auth2.0和具體的Token驗證機制)
    <b>靈活的權限控制</b>

用戶以 APP 作爲請求 API 的身份,網關支持針對 APP 的權限控制。只有已經獲得授權的 APP 才能請求相應的
API。API 提供者可以將調用某個API 的權限主動授予給某個APP。若 API上架到 API 市場,購買者可以將已購買的 API 授權給自己的 APP。(沒看到是否基於IP進行控制,還是基於Token進行控制,即對於消費方分配獨立的Token信息)
    <b>精準的流量控制</b>

流量控制可以用於管控
API的被訪問頻率、APP的請求頻率、用戶的請求頻率。流量控制的時間單位可以是分鐘、小時、天。支持流控例外,允許設置特殊的 APP 或者用戶。(流量控制只支持服務運行頻率,沒看到可以基於數據量進行流控)
    <b>請求校驗</b>

支持參數類型、參數值(範圍、枚舉、正則、Json Schema)校驗,無效校驗會被 API
網關直接拒絕,以減少無效請求對後端造成的資源浪費,大幅降低後端服務的處理成本。(這個功能實際有一定的用處,並不會犧牲太多的性能,但是會實現一些簡單的參數完整性校驗能力。)
    <b>數據轉換和映射</b>

通過配置映射規則,實現前、後端數據翻譯。支持前端請求的數據轉換。支持返回結果的數據轉換。(暫時不清楚數據轉換功能能夠實現的能力)

    <b>API服務監控報警</b>

提供可視化的API實時監控,包括:調用量、流量大小、響應時間、錯誤率,在陸續增加維度。支持歷史情況查詢,以便統籌分析。可配置預警方式(短信、Email),訂閱預警信息,以便實時掌握API運行情況。

    <b>自動工具</b>

自動生成 API 文檔,可供在線查看。API 網關提供多種語言 SDK 的示例。降低 API
的運維成本。提供可視化的界面調試工具,快速測試,快速上線。(當前網上也有不少的API接口文檔自動生成工具可選)
    <b>API 市場</b>

可將 API 上架到 API 市場,供更多開發者採購和使用。
從整個功能的介紹可以看到對於API的全生命週期管理(註冊,接入,代理,路由,負載均衡),安全,權限,流量控制,監控和告警等是所有API網關都必須具備的功能。而對於API市場,API文檔自動生成,請求的參數校驗,數據的轉換等則可以看做是擴展功能。
對於API市場往往是一個重要的擴展能力,即對於API接口服務可以做爲商品一樣進行訂購和使用,並根據相應的調用次數,調用的數據量等條件進行計費處理。這我們我們說的PaaS平臺的服務層能力作爲產品和服務發佈,能夠進行訂購生產訂單,能夠進行計費等完全是一個道理。
相關文章