阿里云服务网格ASM多集群实践(一)多集群管理概述

本文涉及的产品
私网连接 PrivateLink,5万GB流量 1.5万小时实例时长
简介: 服务网格多集群管理网络打通和部署模式的多种最佳实践

【阅读原文】戳:阿里云服务网格ASM多集群实践(一)多集群管理概述

引言:在应用部署日趋复杂的业务场景中,多集群部署逐渐成为一个重要的部署实践。多集群可以带来显著地可用性优势或对多套部署环境形成天然隔离,带来稳定性和安全性收益。然而,正确地管理多集群是充满挑战的,在实践中,为了使得多集群可以形成互备,通常都会将多个集群部署在不同的机房、地域或公有云上,如何打通多集群的网络是第一个需要面对的挑战。其次,针对不同的多集群部署实践,往往需要按照特定的规则管理流量。本系列文章将以场景化的形式为读者展示几种典型的多集群实践,以及多集群部署可能遇到的挑战和解决方案,并在随后的内容中带来部分场景的实操流程。

 

 

多集群网络互通

 

 

阿里云在多个地域部署了云服务基础设施,每个地域包含多个可用区。地域是指物理的数据中心。资源创建成功后不能更换地域。而可用区(Availability Zone,简称AZ)是指在同一地域内,电力和网络互相独立的物理区域。同一可用区内实例之间的网络延时更小。

 

 

在一些多集群实践中,我们可能希望服务能够进行跨集群调用,例如多集群灾备场景中,当一个集群的应用发生故障时,我们希望能够调用另一集群的同一服务来完成无感的故障切换。由于阿里云容器服务集群的网络归属于其所属地域(Region)的某一虚拟私有网络(VPC)中,因此,为了实现集群之间互相调用,我们需要将集群所属的VPC网络打通。在接下来的章节,本文将介绍打通集群网络的三种方式,分别是:PrivateLink,CEN和ASM东西向网关。

 


 

通过阿里云PrivateLink打通跨可用区网络

 

PrivateLink是利用阿里云的私有网络进行服务交互的一种方式。利用PrivateLink,用户可以通过私有网络打通多个VPC的网络,无需创建NAT网关(NAT Gateway)、弹性公网IP(Elastic IP)等公网出口。交互数据不会经过互联网,有更高的安全性和更好的网络质量。

 

 

但是,PrivateLink无法打通跨地域VPC之间的网络,为此,阿里云还推出了打通跨地域网络的解决方案 -- 阿里云云企业网(CEN)用于跨地域的网络打通。

 

 

通过阿里云云企业网CEN打通跨地域网络

 

云企业网CEN(Cloud Enterprise Network)是运行在阿里云私有全球网络上的一张高可用网络。云企业网通过转发路由器TR(Transit Router)帮助您在跨地域专有网络之间,专有网络与本地数据中心间搭建私网通信通道,为您打造一张灵活、可靠、大规模的企业级云上网络。使用云企业网,您可以不受地域限制地打通任意地域的任意VPC之间网络通信。

 

 

 

通过ASM东西向网关打通跨地域网络

 

除PrivateLink和CEN外,ASM作为集群网络基础设施,提供了一种更经济灵活的网络打通方式 -- ASM东西向网关。通过部署ASM东西向网关并将其暴露于公网,可以实现通过公网链路将集群网络打通,实现跨集群应用调用。由于ASM东西向网关通过公网打通集群间网络,相比于CEN专线打通可能存在更高的网络延迟,但相比于CEN提供了更高的性价比。用户应当综合评估业务对网络质量的综合诉求,选择适用的方案。

 

 

 

 

多集群典型场景

 

 

针对不同的业务需求,多集群部署存在多种实践,在接下来的章节中,笔者将将介绍几种典型的多集群实践。由于多集群的网络环境、依赖关系都相比于单集群场景更为复杂,因此,熟悉这些经过验证的最佳实践是相当有必要的。

 

 

隔离模式

 

ASM控制平面默认假设一个服务(Service)的所有端点(Endpoints)都是可达的,然而在一些场景下我们或许不希望发生跨集群访问。例如某应用存在分区服务,每个区独立部署在一个集群中,每个集群有独立的存储(数据库等)供应用消费,但集群间的流量规则和应用拓扑完全一致,希望使用统一的控制平面管理,使用这种部署模式的典型业务例如游戏。针对这种场景,ASM提供了集群流量保持功能,您可以参考ASM官网文档[1]获取流量保持功能的更多信息,或持续关注本系列的后续文章中带来的最佳实践实操。

 

 

 

分布式应用

 

一些分布式应用可能因为权限隔离、资源依赖等原因,需要部署在多个集群里,多个集群中的应用又存在交叉调用,这是一种典型的多集群部署实践,它的拓扑大致像这样。在使用这种多集群部署时,由于多个集群被同一ASM实例管理,因此,用户需要确保多集群之间的服务不发生冲突(例如集群1的default/httpbin服务和集群2的default/httpbin服务将被控制平面视为同一个服务)。

 

 

 

多集群灾备

 

跨地域或者跨可用区的多集群部署是利用多地域带来的物理隔离构建灾备体系的常见部署形态,ASM提供了跨地域负载均衡能力,利用跨地域负载均衡的跨地域故障转移功能,可以在默认情况下将流量保持在本地集群内,而当本地服务服务发生故障不可用时,自动将针对该服务的调用切换至部署于其他地域、可用区的集群中的同名服务,实现跨地域容灾。您可以参考ASM官网文档[2]获取跨级群故障切换的更多信息,或持续关注本系列的后续文章中带来的最佳实践实操。

 

 

 

多集群多环境部署

 

在一些大规模微服务(如今部分微服务系统达到了1000+Services)的开发过程中,测试环境部署往往是充满挑战的,被广泛采用的部署方式主要是以下两种:

 

全量单一测试环境:最简单的部署模式,所有开发者共享一套测试环境,对于给定的应用,当前环境里只能是该应用的某一个测试版本,应用开发者将环境部署为自己的版本进行测试时,其他开发者只能等待。同时,一旦某一应用的开发者部署了无法正常工作的版本,则调用链上所有其他应用开发者的测试都受到影响。

 

全量多套测试环境:每一个开发者单独部署一套测试环境,对于规模稍大的应用来说,这种部署方式的成本可能是不可接受的(试想为一个上千服务规模的应用做一套独立部署是多么夸张的资源浪费)。

 

以上两种方式都存在较为非常显著的缺陷,理想情况下,应该可以做到将对应服务开发人员的测试流量路由到其自己版本,而其他开发者则应该路由到稳定的版本,这通常需要自行实现或是借助一些Framework能力,前者有着显著的开发成本和实施成本;后者则大多有存在语言限制,对语言应用不够友好。

 

通过使用ASM的泳道模式则可以轻松地在多语言应用环境下,在不对应用做任何入侵的情况下,为每个开发人员建立一条独立泳道,且通过引流规则匹配对请求特征(例如用户ID、类型等)进行引流,即可实现每个开发者只在自己的泳道中部署正在开发中的应用,而调用链上的其他应用则fallback回到基线环境,极大地提升了开发环境部署的灵活程度。您可以参考ASM官网文档[3]获取流量泳道功能的更多信息,或持续关注本系列的后续文章中带来的最佳实践实操。

 

 

相关链接:

 

[1] ASM官网文档

https://help.aliyun.com/zh/asm/user-guide/enable-the-traffic-retention-function-in-the-asm-local-cluster-in-the-multi-cluster-scenario?spm=5176.13895322.help.dexternal.6dac5fcflaqePi

 

[2] ASM官网文档

https://help.aliyun.com/zh/asm/user-guide/use-asm-to-implement-cross-region-disaster-recovery-and-load-balancing?spm=a2c4g.11186623.0.i4

 

[3] ASM官网文档

https://help.aliyun.com/zh/asm/user-guide/traffic-swimlane/?spm=a2c4g.11186623.0.i8

 


我们是阿里巴巴云计算和大数据技术幕后的核心技术输出者。

欢迎关注 “阿里云基础设施”同名微信微博知乎

获取关于我们的更多信息~


相关文章
|
20天前
|
存储 SQL BI
毫秒级查询性能优化实践!基于阿里云数据库 SelectDB 版内核:Apache Doris 在极越汽车数字化运营和营销方向的解决方案
毫秒级查询性能优化实践!基于阿里云数据库 SelectDB 版内核:Apache Doris 在极越汽车数字化运营和营销方向的解决方案
毫秒级查询性能优化实践!基于阿里云数据库 SelectDB 版内核:Apache Doris 在极越汽车数字化运营和营销方向的解决方案
|
22天前
|
算法 物联网 数据库
阿里云 OpenSearch RAG 应用实践
本文介绍了阿里云OpenSearch在过去一年中在RAG方面的应用和探索。
542 2
阿里云 OpenSearch RAG 应用实践
|
28天前
|
弹性计算 监控 开发工具
【阿里云弹性计算】阿里云ECS的网络优化实践:VPC配置与网络性能提升
【5月更文挑战第29天】阿里云ECS通过虚拟私有云(VPC)提供高性能、安全的网络环境。VPC允许用户自定义IP地址、路由规则和安全组。配置包括:创建VPC和交换机,设定安全组,然后创建ECS实例并绑定。优化网络性能涉及规划网络拓扑、优化路由、启用网络加速功能(如ENI和EIP)及监控网络性能。示例代码展示了使用Python SDK创建VPC和交换机的过程。
277 3
|
23天前
|
Cloud Native 容器 Kubernetes
基于阿里云服务网格流量泳道的全链路流量管理(三):无侵入式的宽松模式泳道
本文简要讨论了使用流量泳道来实现全链路流量灰度管理的场景与方案,并回顾了阿里云服务网格 ASM 提供的严格与宽松两种模式的流量泳道、以及这两种模式各自的优势与挑战。接下来介绍了一种基于 OpenTelemetry 社区提出的 baggage 透传能力实现的无侵入式的宽松模式泳道,这种类型的流量泳道同时具有对业务代码侵入性低、同时保持宽松模式的灵活特性的特点。同时,我们还介绍了新的基于权重的流量引流策略,这种策略可以基于统一的流量匹配规则,将匹配到的流量以设定好的比例分发到不同的流量泳道。
73307 12
基于阿里云服务网格流量泳道的全链路流量管理(三):无侵入式的宽松模式泳道
|
5天前
|
存储 弹性计算 安全
构建高效企业应用架构:阿里云产品组合实践深度解析
该方案展现了阿里云产品组合的强大能力和灵活性,不仅满足了当前业务需求,也为未来的扩展打下了坚实的基础。希望本文的分享能为读者在设计自己的IT解决方案时提供一定的参考和启发。
68 1
|
19天前
|
运维 监控 搜索推荐
客户案例 | 阿里云向量检索 Milvus 版在识货电商检索场景的应用与实践
本文分享了阿里云向量检索 Milvus 版在识货电商检索场景的应用与实践。阿里云的 Milvus 服务以其性能稳定和功能多样化的向量检索能力,为识货团队在电商领域的向量检索场景中搭建业务系统提供了强有力的支持。
|
29天前
|
运维 监控 安全
【阿里云云原生专栏】云原生时代的 DevSecOps:阿里云的安全开发流程实践
【5月更文挑战第28天】在云原生时代,面对安全新挑战,阿里云践行DevSecOps理念,将安全贯穿于开发运维全过程。通过安全需求分析、设计、代码审查、测试及持续监控,确保云原生应用安全。例如,Kubernetes配置中加入安全设置。阿里云还提供多种安全服务和工具,如身份认证、云防火墙等,助力用户构建安全可靠的云应用,为数字化转型保驾护航。
126 4
|
5天前
|
存储 弹性计算 Linux
阿里云账号注册、完成实名认证、试用云服务器和购买云服务器流程参考
本文为大家介绍新手用户从注册阿里云账号,完成实名认证,然后试用云服务器和购买云服务器的主要流程,适合初次购买和试用阿里云服务器的新手用户参考。
阿里云账号注册、完成实名认证、试用云服务器和购买云服务器流程参考
|
28天前
|
存储 固态存储 安全
阿里云4核CPU云服务器价格参考,最新收费标准和活动价格
阿里云4核CPU云服务器多少钱?阿里云服务器核数是指虚拟出来的CPU处理器的核心数量,准确来讲应该是vCPU。CPU核心数的大小代表了云服务器的运算能力,CPU越高,云服务器的性能越好。阿里云服务器1核CPU就是一个超线程,2核CPU2个超线程,4核CPU4个超线程,这样云服务器可以同时处理多个任务,计算性能更强。如果网站流程较小,少量图片展示的企业网站,建议选择2核及以上CPU;如果网站流量较大,动态页面比较多,有视频等,建议选择4核、8核以上CPU。
阿里云4核CPU云服务器价格参考,最新收费标准和活动价格
|
2天前
|
存储 弹性计算 安全
阿里云服务器怎么样?云服务器ECS产品优势、应用场景、价格解析及常见问题参考
阿里云服务器ECS(Elastic Compute Service)是阿里云提供的性能卓越、稳定可靠、弹性扩展的IaaS(Infrastructure as a Service)级别云计算服务。把物理服务器比作买的房子,云服务器ECS,就是租赁的房子,阿里云云服务商就是管家。云服务商负责搭建机房、提供配套服务和维护,用户只需要付租金,即可“拎包入住”,无需自建机房、采购和配置硬件设施。如果不再需要云服务器,可随时“退租”(释放资源),节省成本。本文为大家解析云服务器ECS产品优势、应用场景和最新价格及常见问题。
阿里云服务器怎么样?云服务器ECS产品优势、应用场景、价格解析及常见问题参考

热门文章

最新文章