微服務閘道器Kong 1.0正式釋出!提供100+項功能
今天,我們很高興地釋出Kong 1.0 GA——一個可擴充套件、快速、開源的微服務API閘道器,用於管理、保護和連線混合和雲原生架構。Kong位於服務之前,並可通過外掛進行擴充套件,包括身份驗證、流量控制、可觀察性等。
經過多年的開發,成千上萬的使用者在生產環境中使用了Kong,我們增加了眾多重要的功能,並進行了大量的修復,讓Kong變得更快、更靈活、更具彈性。
服務網格
使用者現在不僅可以將Kong作為API閘道器部署,還可以作為獨立的service-mesh代理。Kong外掛提供了與服務網格相關的關鍵功能,可以與其他雲原生技術整合,包括Prometheus、Zipkin、健康檢查、金絲雀部署、藍綠部署,等等。
藉助邊車代理提供的跟高的可見性、安全性和彈性,服務網路有助於解決微服務所面臨的一些挑戰。除了這些好處之外,與其他供應商相比,Kong的服務網路提供了一些關鍵優勢,所有這些優勢都源於我們注入了與邊緣邊車代理相同的執行時。
Mutual TLS和TCP
在1.0版本中,Kong叢集建立了一個Certificate Authority,Kong節點可以用它來建立Mutual TLS身份驗證。此外,Kong現在可以路由原始TCP流量,這意味著Kong現在可以平衡來自郵件伺服器和其他基於TCP的應用程式的流量,一直從L7到L4。
gRPC
除了REST之外,Kong 1.0現在還支援gRPC協議。gRPC基於HTTP/2,為希望以低開銷和低延遲連線東西向流量的Kong使用者提供了另一種選擇,有助於使用者在混合環境中進行更多網格部署。
新的遷移框架
Kong 1.0引入了一個新的資料庫抽象物件(Database Abstraction Object,DAO),它可以簡化從一個資料庫模式到另一個資料庫模式的遷移,並且停機時間幾乎為零。新的DAO允許使用者一次性升級他們的Kong叢集,無需手動升級每一個節點。
外掛開發套件(PDK)
PDK是一組Lua函式和變數,自定義外掛可用它們實現自己的邏輯。儘管它早在0.14.0中就已釋出,不過1.0版本的變更可以保證使用PDK構建的外掛與1.0及更高版本相容。與從頭開始編寫外掛相比,它提供了很多優勢,其中包括:
標準化
所有Kong外掛都需要一系列標準功能,而PDK提供了這些開箱即用的功能,既節省了外掛開發人員的時間,又保證了使用PDK開發的外掛具有相似的行為(相同的解析規則、相同的錯誤等),使它們更易於使用。
可用性
PDK的介面比ngx_lua API更容易使用。PDK允許使用者將某些外掛操作(例如日誌記錄或快取)與其他外掛隔離開。
相容性
PDK的語義版本化可以保持向後相容。在未來,外掛將能夠鎖定它們所依賴的PDK版本。
自由移動服務
藉助Kong,你可以立即將在邊緣使用的功能擴充套件到網格中。將Kong部署在與容器相同的主機上,就可以輕鬆地將容器中的服務移到網格中。
無縫連線
將網格中的服務與所有環境、平臺和供應商的服務相連線。在不修改服務程式碼的情況下,使用Kong來彌合雲原生設計與傳統架構模式之間的差距。
健壯的外掛庫
我們的外掛架構為使用者提供了無與倫比的靈活性。Kong外掛提供了開箱即用的關鍵功能,並支援與其他雲原生技術的無縫整合,包括Prometheus、Zipkin和其他很多技術。外掛在本地與每個服務執行在一起,不需要額外的網路跳轉到另一個元件。
低延遲
Kong及其外掛針對效能進行了優化。其他平臺可能會在容器或網格的服務之間引入延遲,而我們引入的延遲不到一毫秒。
資料平面與控制平面的分離
Kong 1.0允許使用者在配置中指定單獨的控制平面和資料平面。以前,你需要單獨配置每個叢集的資料平面和控制平面,現在你可以在同一個地方配置,然後反映在多個Kong叢集中。獨立的資料平面和控制平面配置讓Kong使用者可以更好地控制大型部署。這種配置分離讓部署變得更加安全,因為你可以將Kong的配置放在防火牆後面,僅暴露出資料平面。
Runloop效能改進
為了確保資料平面的效能能夠滿足服務網格和其他去中心化架構的需求,我們對外掛Runloop進行了一些改進。
預讀取執行
外掛現在可以在預讀取階段執行程式碼。Kong使用者可以在建立初始TCP連線時初始化外掛來提高效能。
閘道器與網格配置
所有外掛都有一個新欄位run_on,用於在服務網格和“常規API閘道器”模式下控制外掛的啟用。這樣可以更精細地控制外掛的活動,避免冗餘並進一步提高效能。
AWS Lambda和Azure FaaS
Kong 1.0還改進了與AWS Lambda和Azure FaaS的互動,包括Lambda Proxy Integration和Azure Functions外掛的改進,用以過濾掉在將HTTP/1.1響應代理到HTTP/2客戶端時不被HTTP/2允許的標頭。
100多項功能和修復
你可以在Changelog中找到所有Kong版本的變更列表。1.0版本包含了很多重大變更,因此在升級時請務必閱讀1.0版本的升級路徑。
Kong的未來
雖然我們現在承諾Kong會保持穩定和向後相容,但我們仍然有很長的路要走。我們很高興繼續與你一起構建Kong專案和社群!我們非常感謝社群為實現這一里程碑提供的所有支援,我們期待著繼續共同構建和成長。
自從四年前開源Kong以來,來自世界各地的數百名貢獻者對Kong程式碼庫進行了無數次的改進,這些改進讓我們迎來了1.0版本。我們十分感謝Kong的使用者和貢獻者。我們最初在開源Kong時,並沒有想到它的社群會有如此驚人的增長,並且一直在持續!
Kong CTO Marco Palladino說,“在開發Kong時,我們懷揣著一個混合世界的願景,而Kong 1.0代表了實現這一願景的關鍵一步。我們與社群一起對平臺架構進行了重大變更,包括支援服務網格的能力,這將使我們的使用者能夠處理任何跨供應商、環境和生態系統的部署。在未來,我們將會更加深入支援更多新興的生態系統”。
相關文章
- 高效能微服務閘道器.NETCore客戶端Kong.Net開源釋出微服務NetCore客戶端
- API 閘道器 KongAPI
- kong閘道器部署
- surging 微服務引擎 1.0 正式釋出微服務
- 微服務閘道器微服務
- 阿里雲微服務引擎MSE釋出閘道器功能,開啟微服務“大門”雲化時代阿里微服務
- 微服務閘道器- Nginx微服務Nginx
- Docker 安裝 Kong 閘道器Docker
- 微服務中的閘道器微服務
- 微服務(七)Gateway服務閘道器微服務Gateway
- 微服務 API Gateway kong 閘道器實踐及jwt-header外掛開發微服務APIGatewayJWTHeader
- 《springcloud 二》微服務動態閘道器,閘道器叢集SpringGCCloud微服務
- 閘道器服務Kong和konga介紹安裝使用教程
- 微服務閘道器 Spring Cloud Gateway微服務SpringCloudGateway
- SpringCloud 微服務閘道器 Gateway 元件SpringGCCloud微服務Gateway元件
- 微服務6:通訊之閘道器微服務
- 高效能API閘道器Kong介紹API
- 微服務基礎——厲害了!API閘道器微服務API
- SpringCloud微服務治理三(Zuul閘道器)SpringGCCloud微服務Zuul
- 微服務下的閘道器如何選擇微服務
- 微服務閘道器Gateway實踐總結微服務Gateway
- 為什麼微服務需要API閘道器?微服務API
- 微服務實踐分享(2)api閘道器微服務API
- 微服務架構閘道器介面設計微服務架構
- 第 1 本微服務閘道器圖書上市,詳解 GitHub 28.3k+ 標星專案 Kong微服務Github
- kong 一個高效能的 API 閘道器API
- 高效能API閘道器(1)、微服務API閘道器架構設計API微服務架構
- 《Kong入門與實戰:基於Nginx和OpenResty的雲原生微服務閘道器》學習連結NginxREST微服務
- Rust 1.0 正式釋出Rust
- .NET Core 微服務—API閘道器(Ocelot) 教程 [四]微服務API
- .NETCore微服務探尋(一) - 閘道器NetCore微服務
- .NET Core微服務開發閘道器篇-ocelot微服務
- .NET Core 微服務—API閘道器(Ocelot) 教程 [一]微服務API
- 個推微服務閘道器架構實踐微服務架構
- 微服務閘道器實戰——Spring Cloud Gateway微服務SpringCloudGateway
- 微服務與閘道器技術(SIA-GateWay)微服務Gateway
- 微服務閘道器SIA-GateWay使用指南微服務Gateway
- 微服務架構基礎之API閘道器微服務架構API