Aeraki Mesh 發布 1.3.0 版本,代號:Dragonboat
Aeraki Mesh 于 2023 年 6 月 24 日發布 1.3.0 版本(版本代號:Dragonboat),該版本包含了對 Istio 1.16.x 系列版本的支持,以及支持多路復用,gateway 支持 MetaProtocol 等一系列重大的新增特性。
(資料圖)
Aeraki Mesh 采用新 Logo
由于原來的 logo 存在版權問題,Aeraki Mesh 啟用 CNCF 設計的新 logo,如下圖所示。該 logo 已經全面應用于 Aeraki Mesh 的 Github repo 和官網。如果大家在相關網站或者文檔上發現還有舊 logo,歡迎提交 issue 和 PR。
支持 Istio 1.16.x 版本
從 1.3.0 版本開始,Aeraki Mesh 對應的 Isito 版本升級為 1.16.x 版本。
1.2.x 版本進入維護期,只修復重要故障。
支持多路復用
如下圖左半部分所示,在之前的版本中,MetaProtocolProxy 在處理請求時會從 upstream 連接池中 獲取連接,每個請求占用一個 upstream 連接,請求完成后將連接釋放到連接池重供后續請求使用。在該機制下,如果并發請求數量較大,會產生較多 upstream 連接(連接數量理論上同并發請求數量)。
在 1.3.0 版本中,MetaProtocolProxy 中引入了多路復用機制。其實現原理如下圖右半部分所示,通過在 Connection Manager 中緩存 upstream conn_data 來實現多路復用。
備注:目前多路復用屬于 alpha 特性,控制面尚不支持。在數據面可以通過設置 meta_protocol_proxy 的 multiplexing 屬性為true打開進行測試,如下所示:
name: aeraki.meta_protocol_proxytyped_config:"@type": type.googleapis.com/aeraki.meta_protocol_proxy.v1alpha.MetaProtocolProxyprotocol:name: dubbocodec:name: aeraki.meta_protocol.codec.dubbomultiplexing: trueGateway 支持 MetaProtocol
本版本開始支持在 Gateway 上提供 MetaProtocol 七層路由能力。在 MetaRouter 上增加了 gateways 屬性,可以通過該屬性在 Gateway 上設置路由規則。下面的 yaml 片段展示了在 gateway 上對 Thrift 請求進行七層路由的例子。
---apiVersion: metaprotocol.aeraki.io/v1alpha1kind: MetaRoutermetadata:name: test-metaprotocol-thrift-routenamespace: meta-thriftspec:gateways: - istio-system/istio-ingressgatewayhosts: - thrift-sample-server.meta-thrift.svc.cluster.localroutes: - route: - destination:host: thrift-sample-server.meta-thrift.svc.cluster.localport:number: 9090subset: v1Dubbo 服務 支持應用級服務治理
從本版本開始,支持按照應用(進程)和接口(Interface)兩種粒度對 Dubbo 服務進行治理。
在 Dubbo 中,有一個 Interface 的概念,一個進程中通常會有多個I nterface。當將 Dubbo 應用加入到服務網格進行服務治理時,有兩個選擇:
按應用(進程)粒度進行服務治理,即以應用作為 Mesh 中的一個 Service。
優點:Mesh 中的 Service 數量相對于接口級服務治理方案更少,控制面需要下發的xds配置少,控制面和 Sidecar 的資源占用相對小。
缺點:無法按照Interface進行流量治理,包括灰度發布、限流、流量鏡像等,只能按照應用級別進行流量治理。
按接口(Interface)粒度進行服務治理,即以 Dubbo Interface 作為 Mesh 中的一個 Service。
優點:可以按接口進行流量治理,包括灰度發布、限流、流量鏡像等。
缺點:Mesh 中的 Service 數量相對于應用級服務治理方案更多,控制面需要下發的xds配置多,控制面和 Sidecar 的資源占用相對大。
可以看出,這兩種治理方式各有優缺點。一般來說,當 Dubbo 應用規模較大、Interface 較多時,建議選擇按照應用粒度進行服務治理,以減輕控制面負荷和 Sidecar 的資源消耗;當 Dubbo 應用規模較小、Interfac 數量較少時,建議選擇按照 Interface 粒度進行服務治理,以提供最精細的流量治理能力。
Aeraki Mesh同時支持應用級和接口級服務治理。除了流量治理的粒度不同之外,這兩種模式的路由、Metrics、Access log、Tracing 等能力是一致的。您可以根據自己的需求進行選擇。
Dubbo 服務治理的更多內容請參見官網文檔:https://www.aeraki.net/zh/docs/v1.x/tutorials/dubbo
Redis 流量管理
Redis 是一種高性能的鍵值數據庫,通常被用作緩存、會話存儲和消息代理等用途。Aeraki Mesh 提供了對 Redis 的流量管理能力,可以實現客戶端無感知的 Redis Cluster 數據分片,按 key 將客戶端請求路由到不同的 Redis 服務,讀寫分離,流量鏡像,故障注入等高級流量管理功能。
Redis 流量管理的更多內容請參見官網文檔:https://www.aeraki.net/zh/docs/v1.x/tutorials/redis
官方鏡像庫切換為 Github Packages
官方鏡像庫從 Docker Hub 切換到 Github Packages。
鏡像下載地址:
控制面:
ghcr.io/aeraki-mesh/aeraki[:TAG]
數據面:
ghcr.io/aeraki-mesh/meta-protocol-proxy[:TAG]
ghcr.io/aeraki-mesh/meta-protocol-proxy-debug[:TAG]
ghcr.io/aeraki-mesh/meta-protocol-proxy-distroless[:TAG]
更多詳情可查看發布公告。
關鍵詞:
相關文章
精彩推送
全球今日報丨歐晶科技(001269.SZ):擬調整發行可轉債的方案,募資額由不超6.2億元調至不超4.7億元
格隆匯6月26日丨歐晶科技(001269 SZ)公布,根據股東大會的授權及公司實
前沿資訊!生豬養殖企業 4大巨頭聯合倡議刷屏 回應來 有機豬肉市場現狀及前景分析2023
從營業收入上看,新希望(000876 SZ)雖然要略高于牧原股份,但是前者202
