ACMG模式

更新时间: 2024-09-03 18:22:20

ACMG(Alibaba Centralized Mesh Gateway)模式是一种专为大规模网络架构设计的解决方案,旨在提升网络的可扩展性、灵活性和管理效率。本文介绍ACMG模式的概念和相关功能。

功能介绍

阿里云服务网格 ASM(Service Mesh)从1.22版本开始支持ACMG模式。与Ambient模式相同,ACMG模式也支持Sidecar和Sidecarless两种形态,主要功能覆盖了:

  • 流量管理:基本流量路由、负载均衡、熔断、限流、故障容错、重试和超时等。

  • 安全:面向L4层和L7层的授权策略。

  • 可观测性:监控指标、访问日志、链路追踪。

不同的是,ACMG模式支持了集中式代理,以实现东西向流量的集中式管理,进一步简化运维、降低网格基础架构的资源占用。

设计理念

ACMG模式同样也将数据面分为了L4和L7两层,主要功能与Ambient模式相同,由控制面负责L4层代理和L7层代理的配置下发、CA服务的提供等。

值得注意的是,ACMG模式支持命名空间级别的多租户L7代理模式,提供集群粒度的代理服务共享,降低服务网格基础架构成本。同时L7组件由ASM管理,并且独立于应用程序运行,避免了对业务负载的侵入,更易于运维。

在具体实现中,可以大致分为以下两个组件:

组件

主要功能

zTunnel

数据面组件,在数据面节点上作为业务负载的L4 层身份代理。

Central Proxy

数据面组件,集中式的L7层代理,整个集群共享一个Central Proxy服务。ASM负责Central Proxy的部署以及弹性扩缩容等。

image

ACMG模式的特点

image

通过对比上图总结的三种模式的架构,可以看出:

模式

优点

缺点

Sidecar模式

  • 可以通过这些sidecar容器对每个服务实例进行独立配置。

  • 增强服务调用之间的网络安全性、可靠性和可观测性。

  • 支持灵活的流量管理、负载均衡以及多种类似断路器、请求路由等高级功能。

因为给每个Pod都注入了sidecar容器,增加了应用部署的复杂度,集群的资源消耗、运维和管理的复杂程度也随之增加。

Ambient模式

  • 没有额外的sidecar容器,网格代理可以完全独立运行,不再需要修改或重新部署现有应用程序,使得部署和管理变得更加简单。

  • 支持逐步采用Mesh技术,可以从安全覆盖层开始,逐步增加功能,适应不同的迁移策略。

  • 一些特定场景下,如特定客户端配置或目标服务策略时,Ambient模式无法灵活处理。

  • Waypoint的配置需要按Service或者Namespace以显式指定的形式部署,也有一定的运维成本。

ACMG模式与Ambient模式类似,同样支持以下能力:

  • 解耦业务和网络:允许网络的独立升级和运维。

  • 安全网络传输:保留节点级别的 zTunnel,以满足零信任网络架构要求。

而ACMG模式区别于Ambient模式的特性在于:

  • 节省用户资源:通过多租支持,减少资源消耗。

  • 降低运维负担:无需关注代理服务的创建,支持自动弹性,无需关注L7代理的扩缩容。

  • 支持Central Proxy自动弹性:Central Proxy的多租户设计将使用一个服务来处理集群内的流量,ASM通过支持自动弹性来保障L7代理的正常运行。

与Sidecar和Ambient相比,ACMG模式的7层网络代理覆盖范围更大,可以被集群内所有服务共享。

ACMG模式下的路由

在ACMG模式下,工作负载可以分为以下2类:

  • 未拦截:这是一个没有启用任何Mesh特性的标准Pod。

  • 已拦截:这是一个通过zTunnel拦截流量的Pod。可以通过在命名空间上设置istio.io/dataplane-mode=acmg标签来捕获Pod。与此同时,被捕获的Pod流量会被Central Proxy代理。

zTunnel 路由

与Ambient模式下的zTunnel路由方式相同。更多信息,请参见zTunnel路由

Central Proxy 路由

如果服务端所在的Namespace未通过命名空间label开启ACMG模式,无论客户端是否开启ACMG,流量都不会经过Central Proxy路由。

如果服务端所在的Namespace通过命名空间label开启了ACMG模式,此时只有客户端所在的Namespace已经开启了ACMG模式流量,从客户端发出的流量才会被zTunnel拦截,流量才会引流到Central Proxy,再将路由决策发送到服务端的某个Pod。

总而言之,只有客户端和服务端都开启了ACMG,流量才会经过Central Proxy,创建的L7层流量管理策略等才会正常生效。

上一篇: 入门示例 下一篇: 使用限制
阿里云首页 服务网格 相关技术圈