微服務最強開源流量閘道器Kong

2021-09-27 12:34:35 字數 1756 閱讀 3797

在微服務架構中,由於系統和服務的細分,導致系統結構變得非常複雜, 為了跨平台,為了統一集中管理api,同時為了不暴露後置服務。甚至有時候需要對請求進行一些安全、負載均衡、限流、熔斷、灰度等中間操作,基於此類種種的客觀需求乙個類似綜合前置的系統就產生了,這就是api閘道器(api gateway)。api閘道器作為分散在各個業務系統微服務的api聚合點和統一接入點,外部請求通過訪問這個接入點,即可訪問內部所有的rest api服務。目前常用的微服務閘道器有zuul、gateway,今天來簡單介紹一下另一種選擇——kong 。說到kong可能對大家有點陌生,我們來先了解下另一種不陌生的中介軟體——openresty。

openresty® 是乙個基於 nginx 與 lua 的高效能 web 平台,其內部整合了大量精良的 lua 庫、第三方模組以及大多數的依賴項。用於方便地搭建能夠處理超高併發、擴充套件性極高的動態 web 應用、web 服務和動態閘道器。因此,我們可以做出各種符合我們需要的閘道器策略的lua指令碼,以其為基礎構建高效能的閘道器系統。

kong基於openresty,是乙個雲原生、快速、可擴充套件、分布式的api 閘道器。繼承了openresty的高效能、易擴充套件性等特點。kong通過簡單的增加機器節點,可以很容易的水平擴充套件。同時功能外掛程式化,可通過外掛程式來擴充套件其能力。而且在任何基礎架構上都可以執行。具有以下特性:

對於具體的後端業務應用或者是服務和業務有一定關聯性的策略閘道器就是上圖左邊的架構模型——業務閘道器。 業務閘道器針對具體的業務需要提供特定的流控策略、快取策略、鑑權認證策略等等。

與業務閘道器相反,定義全域性性的、跟具體的後端業務應用和服務完全無關的策略閘道器就是上圖右邊所示的架構模型——流量閘道器。流量閘道器通常只專注於全域性的api管理策略,比如全域性流量監控、日誌記錄、全侷限流、黑白名單控制、接入請求到業務系統的負載均衡等,有點類似防火牆。kong 就是典型的流量閘道器。

這裡需要補充一點的是,業務閘道器一般部署在流量閘道器之後、業務系統之前,比流量閘道器更靠近業務系統。通常api網指的是業務閘道器。 有時候我們也會模糊流量閘道器和業務閘道器,讓乙個閘道器承擔所有的工作,所以這兩者之間並沒有嚴格的界線。

每個客戶請求都會先到達kong 閘道器,然後再**到最終的api。在請求和響應之間,kong將執行已安裝配置的外掛程式,從而擴充套件ap的i功能集。

外掛程式作為kong的一大特色這裡不得不簡單提一下,目前kong的外掛程式有免費、有收費(企業版)、還有社群(github)提供的,有能力也可以通過kong官方提供的模板使用lua指令碼來開發自己定製的外掛程式。現階段提供有8類外掛程式功能涉及身份驗證、許可權安全、流量控制、serverless、分析與監控、資料轉換、日誌資訊、部署發布。可通過官方外掛程式庫或者github搜尋來獲取。

kong 提供了在各個平台的安裝包。目前最新版本提供了無資料庫依賴和資料庫依賴兩種模式,安裝並不複雜。如果從現有的kong提供的功能來說,全部基於配置。可通過配置檔案或者restful admin api 進行配置管理。而且有很多第三方視覺化ui,如konga 。如果需要對kong進行定製化開發,需要深度掌握openresty、nginx、lua指令碼等相關的知識,所以一般建議kong作為流量閘道器使用。

微服務最強開源流量閘道器Kong

在微服務架構中,由於系統和服務的細分,導致系統結構變得非常複雜,為了跨平台,為了統一集中管理api,同時為了不暴露後置服務。甚至有時候需要對請求進行一些安全 負載均衡 限流 熔斷 灰度等中間操作,基於此類種種的客觀需求乙個類似綜合前置的系統就產生了,這就是api閘道器 api gateway api...

基於開源,強於開源,輕舟微服務解決方案深度解讀

2018年7月31日,由杭州市 賽迪以及網易主辦的 2018中國杭州雲創大會 於杭州國際博覽中心如期舉辦,大會以 開放 生態 賦能 為主題,匯聚行業領袖 技術大咖及產業鏈從業者。隨著數字經濟的時代到來,企業數位化創新對新一代雲計算服務的需求日漸迫切。在下午的雲計算專題會中,網易雲邀請了來自各行業的新...

宜信開源微服務任務排程平台(SIA TASK)

無論是網際網路應用或者企業級應用,都充斥著大量的批處理任務。常常需要一些任務排程系統幫助開發者解決問題。隨著微服務化架構的逐步演進,單體架構逐漸演變為分布式 微服務架構。在此的背景下,很多原先的任務排程平台已經不能滿足業務系統的需求。於是出現了一些基於分布式的任務排程平台。這些平台各有其特點,但各有...