1. 程式人生 > >openresty應用場景以及研發網關係統功能說明

openresty應用場景以及研發網關係統功能說明

openresty主要應用場景

Web應用

進行一些業務邏輯處理,甚至進行耗CPU的模板渲染,一般流程:mysql/redis/http獲取資料、業務處理、產生JSON/XML/模板渲染內容,比如京東的列表頁/商品詳情頁。

Web防火牆

可以進行IP/URL/UserAgent/Referer黑名單、限流等功能。

接入閘道器 

實現如資料校驗前置、快取前置、資料過濾、API請求聚合、認證管理、負載均衡、流量控制、灰度釋出、降級、監控等功能。

以下是具體功能說明:

  • 鑑權:基於接入應用進行授權驗證
  • 安全防護:只有授權的應用才能訪問對應的api,ip黑貝名單機制。 擴充套件:可根據裝置id,地理位置,敏感資料二次檢驗等...
  • 限流:防止外界系統對當前系統的過渡呼叫,導致服務超載,影響核心業務的使用
  • 動態配置更新:執行時變更API、分組、元件等配置,自動同步、及時生效。
  • 服務路由(rewrite):識別請求引數和路徑轉發上游API服務。
  • 高可用:支援叢集化,避免單點故障。
  • 高效能:閘道器無狀態,支援橫向擴充套件,執行時弱依賴持久層,最大化提升閘道器整體效能。
  • 熔斷(待定):後端服務出現呼叫超時或者異常,系統自動熔斷該服務。
  • 健康檢查(待定):針對已經被熔斷的服務api,動態檢測健康狀態,若健康則修復已被熔斷的api。目前初期版本為保證效能,採用手動恢復服務介面,後期根據需求逐步調整為自動恢復(擴充套件:服務檢查)
  • 灰度釋出:產品支援讓指定部分客戶端應用使用新版本API,其他應用繼續使用以前的API,當新版本的API逐漸穩定後,所有使用者能平滑過渡到新版本的API。使用灰度釋出能夠及早獲得使用者的意見反饋,完善產品功能,提升產品質量。讓使用者參與產品測試,加強與使用者互動,降低產品升級所影響的使用者範圍。
  • 快取:快取api後端服務返回的資料,降低後端服務的壓力。
  • 分散式快取:當系統api快取量大時  可使用redis等叢集提高系統響應
  • 日誌記錄:以指定的維度存入日誌系統,方便自定義審計和統計。
  • 超時控制:通過API配置訪問超時時間,超時後立即返回,避免工作執行緒長時間等等。
  • 服務編排:將多個後端服務聚合成一個API暴露,減小客戶端開發複雜度,快速生產新的API。
  • 管理中心:API閘道器後臺管理中心簡潔明瞭,方便API閘道器管理員對API進行管理,資料面板方便了解系統執行情況。
  • 監控中心:監控中心對API執行情況一目瞭然,通過分析API異常告警輔助系統運維。