电子商务|阿里巴巴服务网格技术三位一体战略背后的思考与实践( 六 )



由于服务网格 ASM 是控制平面托管 , 支持管控多个数据面集群 , 流量治理 CR 存在控制平面 , 支持用户通过控制平面的 KubeAPI 操作治理规则 。 在服务网格新版本中 , 为了:
1、支持用户在非托管模式下的操作习惯 , 能够在数据面 Kubernetes 集群中读写 Istio 资源 ;
2、支持 Helm 常用命令工具;
3、兼容其他开源软件在单集群 addon 模式下的 API 操作 , 阿里云服务网格 ASM 实现了支持数据面集群 Kube API 访问 Istio 资源 。 两者同时对外提供 , 用户可以根据实际场景按需使用 。

ASM 兼容社区标准 , 提供了控制平面的平滑升级 , 那么数据面的升级可以升级两种方式:滚动升级和热升级能力 , 关于滚动升级能力需要设置升级 Strategy 为 RollingUpdate, 注入 Sidecar 的 Pod 在发布时 , Envoy 镜像会自动升级到新版本 。 图中主要介绍第二种方式阿里云服务网格 ASM 结合 OpenKruise 项目实现的热升级功能 , 在升级数据平面时不会中断服务 , 使数据平面在应用无感知的情况下完成升级 。 应用发布和更新自动生成 SidecarSet 配置 , 更新 SidecarSet 配置完成数据面的升级 , 目前这项能力在新版本灰度中 。

服务网格 ASM 配合阿里云应用高可用服务 AHAS 可以对部署在服务网格内的应用进行流量控制 , 目前已经支持单机限流 , 集群限流 , 自适应限流 。 同时服务网格 ASM 也原生支持 Istio 的全局限流和本地限流 , 全局限流使用全局 gRPC 服务为整个网格提供速率限制 , 本地限流用于限制每个服务实例的请求速率 , 本地限流可以与全局限流结合使用 。
服务网格 ASM 也支持通过 MCP over XDS 协议对接微服务引擎 MSE 的注册中心 , 同步服务信息到网格 。 MSE 的 Nacos 原生支持 MCP 协议 , 用户只需要在创建或更新 ASM 实例时开启 Nacos 注册中心对接功能 , 实现注册中心的服务同步到服务网格 , 可以很方便地支持 Dubbo、Spring Cloud 服务的网格化 , 用户侧无需做任何业务代码修改 。


最后分享几个客户案例 , 客户如何使用服务网格 ASM 缩短服务网格技术落地周期、减轻异常排错成本 , 节省控制面资源成本 。
1、东风日产随着业务的发展 , 早前打造的「十二生肖」(十二套完整的测试环境)已无法满足众多并发需求 , 甚至需要摇号分配环境 。 通过引入阿里云服务网格 ASM , 构建了基于流量管理的「无限生肖」系统 , 满足了自动按需提供环境的诉求 。 基于 ASM 提供的免运维、易升级以及产品丰富支持能力 , 让产研团队集中享受 ServiceMesh 带来的价值 。
2、职优你为了应对业务的全球化扩张与一体化运营 , 基于阿里云服务网格 ASM 和容器服务 ACK 将业务应用跨区域部署 , 通过服务按地域就近访问的策略 , 优化了客户访问体验 , 有效降低业务访问时延 , 提升业务响应速度 。
3、商米科技引入阿里云服务网格 ASM , 构建智能的数字化商业智能 POS 软硬件一体化系统解决方案 , 使用服务网格 ASM 解决 gRPC 服务负载均衡、链路追踪以及流量统一管理等核心问题 。
作者:宗泉、宇曾
本文为阿里云原创内容 , 未经允许不得转载 。