知名高效能開源負載平衡器HAProxy推出2.0版本,全面支援現代的架構,包括OSI第七層的重試機制、監控應用Prometheus的支援,使用者還能使用開源遠端程式呼叫框架gRPC,也能以更多程式語言進行開發。HAProxy 2.0為一個長期支援版本。

HAProxy 2.0是針對雲端和容器環境設計的版本,針對原生雲端應用程式的特性,服務會被不斷地創建與終結,應用程式需要不停地執行部署以及更新配置,為了減少使用者的工作,HAProxy 2.0提供了全新的Data Plane API,這是一個REST API能夠動態配置HAProxy。用戶現在可以動態地增加或是刪除前端、後端或是伺服器。

官方提到,由於HAProxy原本內建Lua支援以及串流處理卸載引擎就已經提供能動態可擴充性,Data Plane API則往前推進,更全面地提供動態配置管理。Data Plane API支援交易(Transaction)特性,能同時應用多個變更,而且始終維持原子性。

而從2017年就有用於Kubernetes的HAProxy Ingress Controller,現在HAProxy 2.0也加入了新版本,新的控制器為Kubernetes託管應用程式提供高效能的入口,不只支援TLS卸載、OSI第七層路由、速率限制以及白名單等功能,還可以透過ConfigMap資源進行配置,並支援用於儲存的TLS憑證的機密資料。

官方在HAProxy 1.9加入了HTTP Representation(HTX),能夠為HTTP協定產生內部原生的表示式,而這項技術為HAProxy打下了良好的基礎,因此 2.0才能夠提供端到端HTTP/2、gRPC以及OSI第七層的重試機制。

HAProxy 2.0全面支援gRPC,能夠處理雙向的資料串流、偵測gRPC訊息以及紀錄gRPC流量,官方提到,gRPC協定是一個現代高效能RPC框架,可以在任何的環境中執行,使用協定緩衝區就能將訊息序列化成為二進位格式,這會比使用JSON更加有效率。

HAProxy 2.0的重點功能之一OSI第七層的重試機制,則是官方為減少系統故障時間,而加入的智慧應急機制,使用OSI第七層的重試機制,其他臺伺服器就可以從OSI第七層,重新嘗試執行失敗的HTTP請求,用戶可以使用指令設定重新嘗試的次數。而且現在HAProxy還具有自動效能分析的功能,當系統經歷平均1000微秒或是更長時間的延遲時,分析功能便會自動啟動,而當延遲重新回到低於990微秒的時候,效能分析功能就會自動關閉。


Advertisement

更多 iThome相關內容