微服務API網關 KONG 介紹

引入微服務後,客戶端(APP,H5,小程序)等一般需要同時調用多個後臺的服務,

  • 一方面每當引入新的服務時,客戶端需要能感知到更新的信息或者配置域名,
  • 另一方面,後端的每一個服務可能都要重複實現一些安全、流量控制(限流、排隊、降級、熔斷)、日誌功能,這個過程當服務多了就非常麻煩。

API Gateway 即 API 網關的出現,就是來解決這些問題的。

API Gateway是位於客戶端和API的一個單點入口,將客戶端的請求反向代理到後端的一組微服務上,同時,天然的路徑優勢,使得API網關可以做一些面向切面的工作


微服務API網關 KONG 介紹

客戶端請求API,都先經過網關



什麼是 KONG ?

KONG 是一款開源的基於 nginx + openresty + 插件的 api 網關;


微服務API網關 KONG 介紹

KONG 實際上指大金剛(KING KONG)


KONG 有哪些優勢?

KONG 是有幾大核心優勢的,能受歡迎自然有它的道理:

幾大核心優勢:

  1. 本身基於 Nginx + lua 以及 Openresty 這個平臺,性能優勢極高
  2. 由 於插件化的機制,編寫的lua腳本可以在無需重啟nginx的情況下熱部署生效;
  3. 一般公司對nginx的積累都不錯,特別是運維,因此學習和上手很容易;本質上就是在nginx上外掛了kong的配置,且天然集成了 openresty
  4. 支持雲原生,kubernetes 中 ingress 認證kong為可選網關 (默認是nginx)
  5. 開源(基於 Apache 2.0協議)、
    社區活躍(github)、插件豐富

KONG 有哪些功能?

  • 認證(Authentication): 支持 basic auth、jwt、LDAP、oauth2 等認證機制


微服務API網關 KONG 介紹

官方提供的認證插件

  • 安全(Security):支持CORS、機器人檢測、IP限制等操作


微服務API網關 KONG 介紹

可選的安全插件


  • 流量控制(Traffic Control): 支持基於角色的權限控制、代理緩存、RateLimiter等


微服務API網關 KONG 介紹

流控插件


  • 統計監控(analytics & monitoring):支持 zipkin、Prometheus 等監控系統


微服務API網關 KONG 介紹

統計監控插件

  • 日誌(Logging) : 支持豐富的日誌插件


微服務API網關 KONG 介紹

常見的都有,沒有也可以自己寫


  • 轉換(Transformation):進行請求改寫等操作


微服務API網關 KONG 介紹

轉換插件

這麼多的插件,開箱即用;一個http請求即生效 ~

接下來我們會開始介紹如何快速上手KONG。


分享到:


相關文章: