微服務閘道器Kong 1.0正式釋出!提供100+項功能

weixin_33763244發表於2018-12-21

今天,我們很高興地釋出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代表了實現這一願景的關鍵一步。我們與社群一起對平臺架構進行了重大變更,包括支援服務網格的能力,這將使我們的使用者能夠處理任何跨供應商、環境和生態系統的部署。在未來,我們將會更加深入支援更多新興的生態系統”。

英文原文:https://konghq.com/blog/kong-1-0-ga/

相關文章