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

openresty主要應用場景

Web應用

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

Web防火牆

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

接入網關 

實現如數據校驗前置、緩存前置、數據過濾、API請求聚合、認證管理、負載均衡、流量控制、灰度發佈、降級、監控等功能。sql

如下是具體功能說明:後端

  • 鑑權:基於接入應用進行受權驗證
  • 安全防禦:只有受權的應用才能訪問對應的api,ip黑貝名單機制。 擴展:可根據設備id,地理位置,敏感數據二次檢驗等...
  • 限流:防止外界系統對當前系統的過渡調用,致使服務超載,影響核心業務的使用
  • 動態配置更新:運行時變動API、分組、組件等配置,自動同步、及時生效。
  • 服務路由(rewrite):識別請求參數和路徑轉發上游API服務。
  • 高可用:支持集羣化,避免單點故障。
  • 高性能:網關無狀態,支持橫向擴展,運行時弱依賴持久層,最大化提高網關總體性能。
  • 熔斷(待定):後端服務出現調用超時或者異常,系統自動熔斷該服務。
  • 健康檢查(待定):針對已經被熔斷的服務api,動態檢測健康狀態,若健康則修復已被熔斷的api。(擴展:服務檢查)
  • 灰度發佈:產品支持讓指定部分客戶端應用使用新版本API,其餘應用繼續使用之前的API,當新版本的API逐漸穩定後,全部用戶能平滑過渡到新版本的API。使用灰度發佈可以及早得到用戶的意見反饋,完善產品功能,提高產品質量。讓用戶參與產品測試,增強與用戶互動,下降產品升級所影響的用戶範圍。
  • 緩存:緩存api後端服務返回的數據,下降後端服務的壓力。
  • 分佈式緩存:當系統api緩存量大時  可以使用redis等集羣提升系統響應
  • 日誌記錄:以指定的維度存入日誌系統,方便自定義審計和統計。
  • 超時控制:經過API配置訪問超時時間,超時後當即返回,避免工做線程長時間等等。
  • 服務編排:將多個後端服務聚合成一個API暴露,減少客戶端開發複雜度,快速生產新的API。
  • 管理中心:API網關後臺管理中心簡潔明瞭,方便API網關管理員對API進行管理,數據面板方便了解系統運行狀況。
  • 監控中心:監控中心對API運行狀況一目瞭然,經過分析API異常告警輔助系統運維。
相關文章
相關標籤/搜索