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_proxy typed_config: '@type': type.googleapis.com/aeraki.meta_protocol_proxy.v1alpha.MetaProtocolProxy protocol: name: dubbo codec: name: aeraki.meta_protocol.codec.dubbo multiplexing: true
Gateway 支持 MetaProtocol
本版本开始支持在 Gateway 上提供 MetaProtocol 七层路由能力。在 MetaRouter 上增加了 gateways 属性,可以通过该属性在 Gateway 上设置路由规则。下面的 yaml 片段展示了在 gateway 上对 Thrift 请求进行七层路由的例子。
--- apiVersion: metaprotocol.aeraki.io/v1alpha1 kind: MetaRouter metadata: name: test-metaprotocol-thrift-route namespace: meta-thrift spec: gateways: - istio-system/istio-ingressgateway hosts: - thrift-sample-server.meta-thrift.svc.cluster.local routes: - route: - destination: host: thrift-sample-server.meta-thrift.svc.cluster.local port: number: 9090 subset: v1
Dubbo 服务 支持应用级服务治理
从本版本开始,支持按照应用(进程)和接口(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]
-
更多详情可查看发布公告。

低调大师中文资讯倾力打造互联网数据资讯、行业资源、电子商务、移动互联网、网络营销平台。
持续更新报道IT业界、互联网、市场资讯、驱动更新,是最及时权威的产业资讯及硬件资讯报道平台。
转载内容版权归作者及来源网站所有,本站原创内容转载请注明来源。
- 上一篇
devilutionX 1.5.0 发布,《暗黑破坏神1》的开源移植
devilutionX 是适配现代操作系统平台的《暗黑破坏神1》开源移植。 它基于《暗黑破坏神1》以及其资料片“地狱之火”进行改良。devilutionX 改进了原作引擎,修复了 Bug,使其运行更简单,画面和功能适配现代平台。除传统的 PC 平台外,游戏还可以在 Mac、Switch、3DS、Steam Deck,甚至手机设备上运行。 近日,DevilutionX 发布了 1.5 版本更新,加入了浮动的伤害数字显示、物品颜色标识,并且在多人模式支持所有任务。此外还加入了对初代 Xbox 主机和 Android TV 的支持。 新版本还优化了性能,减少了内存占用,修复在低端系统上的跳帧问题。 详情查看 Release Notes。
- 下一篇
Turborepo 1.10 发布,面向 JS 和 TS 代码库的高性能构建系统
Turborepo 1.10已发布。 Turborepo 是一个适用于 JavaScript 和 TypeScript 代码库的高性能 monorepo 构建系统。 所谓 monorepo,简单来说就是将所有项目代码放到一个 Git / Mercurial / Subversion 代码仓库中。当下许多大型前端项目和公司都采用了 monorepo 方案,比如 Google、Facebook,以及社区知名开源项目 Babel、Vue-next 都使用了 monorepo 方来管理他们的代码。 Turborepo 1.10 主要变化 引入代码生成器:支持使用turbo gen生成源代码,包括创建新工作区和复制现有工作区 Turborepo 代码生成器支持开发者以可预测的结构化方式将新代码添加到仓库库中。以前,他们需要自己复制代码并手动将依赖项添加到新工作区。借助代码生成器,现在自动化了创建新工作区并将其集成到仓库中的过程。 优化环境变量输入:现在可以更轻松地依赖具有通配符和.env支持的环境变量。 .env文件通常用于加载环境变量。当使用turbo来运行的时候,这可能会导致问题,因为这些变...
相关文章
文章评论
共有0条评论来说两句吧...
文章二维码
点击排行
推荐阅读
最新文章
- Docker使用Oracle官方镜像安装(12C,18C,19C)
- Docker安装Oracle12C,快速搭建Oracle学习环境
- CentOS7安装Docker,走上虚拟化容器引擎之路
- Linux系统CentOS6、CentOS7手动修改IP地址
- Docker快速安装Oracle11G,搭建oracle11g学习环境
- CentOS7编译安装Cmake3.16.3,解决mysql等软件编译问题
- CentOS关闭SELinux安全模块
- CentOS7编译安装Gcc9.2.0,解决mysql等软件编译问题
- Hadoop3单机部署,实现最简伪集群
- CentOS6,7,8上安装Nginx,支持https2.0的开启