带你读《云上自动化运维宝典》——一文详解云上跨可用区容灾解决方案和异地多活能力建设最佳案例(2)

简介: 带你读《云上自动化运维宝典》——一文详解云上跨可用区容灾解决方案和异地多活能力建设最佳案例(2)

更多精彩内容,欢迎观看:

带你读《云上自动化运维宝典》——一文详解云上跨可用区容灾解决方案和异地多活能力建设最佳案例(1):https://developer.aliyun.com/article/1405312


3. ECS团队在容灾上的实践

该部分以ECS内部某具体的Web服务为例,根据业务不同的发展阶段所经历的不同的容灾架构能力建设。根据Web服务经历的不同业务发展阶段,将其分成了三个阶段:

 

image.png

 

第一阶段,业务的起步阶段。在该阶段,整体的业务量较小,只有国内较少的Region对外提供了服务,这个阶段的客户也主要以中小客户为主。在该阶段,采用同城双活的容灾架构。

 

第二个阶段,业务开始快速发展,新Region开始持续不断开服,企业客户开始上云,对服务提出了更高的稳定性诉求。在该阶段,采用单元化的垄断架构。这里的单元化和与前面提到的淘宝天猫的异地多活单元化存在概念上的区分,后面会进行详细的介绍。

 

第三阶段,业务继续快速发展,Region开始遍布国内外。在该阶段,国内外的客户数量都在快速增加,这也会导致一些体验方面的问题。如跨国访问速度慢,域名切换体验差。在该阶段,为解决相应的问题,满足业务上发展的诉求,又升级到了异地多活的架构,在内部又称之为全球化的架构。

1) 同城双活(跨可用区)

 

image.png 

观察图左侧,最上层用户的请求通过DNS解析到公网SLB上,其具备可用区级别的主备的容灾能力,把请求再继续路由到可用区级别的应用级别的负载均衡,而应用级别的负载均衡也具备主备的容灾能力,进而将业务请求再路由到业务层面的应用。而应用无论是部署在主数据中心还是备数据中心,其所有数据的读写操作都会请求到主数据中心,包括中间件、数据库的一些操作,且中间件和数据库的数据采用单向同步机制把数据同步到备数据中心。

 

在最下层,应用支持操作所有地域的ECS资源。因此,这套容灾架构可以很好地满足现阶段的业务情况,如业务质量较小、开服Region较少、客户以中小客户为主且主要集中在国内的现状。

 

它可以满足用户在高可用方面的诉求,包括毫秒级别的RPO,因为数据同步是可用区级别的,一般在几毫秒左右。第二,分钟级别的RTO,主要包括最上层的流量切换。为进一步提升应用的性能,在其内部也做了一定的业务改造,主要包括RPC流量在可用区内部封闭处理,目前主流的RPC框架都具备这种能力。

 

这套容灾架构是的我们具备了同城级别的容灾能力,但由于操作的是所有地域的ECS资源,当出现故障时,其影响面较大。

2) 单元化

这个阶段业务开始快速发展,是因为Region持续不断开服,企业客户开始上云,对服务提出了更高的稳定性的诉求。因此这个阶段在高可用方面除了以上提到的几点,还应新增一点,即在故障时尽量控制影响面,仅影响单个地域,而不影响全网其他地域云资源的操作。

 

因此,将该阶段的容灾架构升级为了单元化的容灾架构。这里的单元化是指每个Region的操作都在单元内部闭环处理。当Region出现故障时不会影响另外的Region。这里的单元化与淘宝、天猫异地多活的单元化有一定差异。

 

image.png

 

观察图左侧的架构图,最上层用户请求不同地域时,其对应访问的域名不同,每个域名解析到对应的Region的公网SLB,到单元内部,架构与同城双活的架构基本一致,唯一的差别在于最下方Region A只支持操作Region A的云产品,Region B只支持操作Region B的云产品,进行了单元的隔离。

 

这样,第一,提供了单元化的服务能力,因此在故障时可尽可能地缩小影响面;第二,单元内部依然进行了同城级别的容灾能力,而不具备异地的容灾能力;第三,每个单元都会对外提供访问的域名,随着Region数量的持续新增,会给用户带来体验较差、跨境访问速度较慢等问题。

3) 异地多活(全球化)

image.png

 

随着业务的发展,进入到了第三个阶段。在业务层面的主要特征包括:

 

其一,Region开始快速增加,包括国内外的、开服的Region数量很多;

 

其二,该阶段客户的分布也发生了较大的变化,国内外的客户数量都在快速增加,在进行跨国访问时速度较慢(这里的跨国访问指的说用户在美国,却要操作北京的Region资源,或用户在国内,要操作英国Region的资源,这便涉及到了跨国访问);

 

其三,域名切换体验较差,每个Region都对外提供访问域名,当要操作不同Region的云资源时,就要在各域名之间进行反复的切换,体验较差。

 

在该阶段,用户也提出了更高的可用性诉求,如地域出现故障时,是否可以把请求路由到另外地域进行处理,以那进一步降低故障的影响面。

 

观察左侧的架构图,最上层是一套DNSDNS具备就近路由智能解析能力(用户在不同地域发起请求时,会就近解析出来最近的服务提供的地域,如用户在美国发起请求,则会把请求了路由到美国的服务器上面,如果用户在英国发起请求,则会把请求路由到最近的如德国的服务器上。

 

图片中展示了三个数据中心,而这套架构在线上实际有接近十个左右的数据中心,已基本上实现了全球每个大洲1-2个数据中心的部署,因此,在内部又称之为全球化架构。通过观察图上展示的三个数据中心,可以发现他们之间有一定的差异,数据Region aRegion c所有应用的写操作都回到了Region b的,则一般把Region b称为主数据中心,Region aRegion c称为备数据中心。所有备数据中心应用的写操作都回流到主数据中心,主数据中心把数据更新到数据库之后,数据库又会把数据采用单项同步的方式同步到各个备数据中心。

 

之所以要进行这样的改造,与自身应用的业务特征是有强关联性,因为该应用是非常典型的“读多写少”的应用,这样改造之后可以大幅降低应用本身的复杂度以及容灾系统部署的复杂度。在最下方,支持操作所有地域的ECS资源,在每个Region内部采用的还是同城双活的容灾架构。

 

关于容灾的效果,

 

第一,所有的读操作都具备了异地级别的容灾能力,而写操作依然是同城级别的容灾能力,因为所有的写操作都会回流到主数据中心,主数据中心内部采用了同城双活的容灾架构

 

第二,单元内部是具备的同城级别的容灾能力;

 

第三,使用了DNS智能就近解析能力,可以提升用户的访问体验,现在一般云厂商提供的DNS解析服务中都有智能就近解析的能力。如全球洲级别的路由能力或国家级别的路由能力。

 

这套架构本身有一定的复杂程度,对业务的改造量较大,如刚才提到的所有备数据中心的写操作都要回流对到主数据中心,因为每个数据中心都有缓存中间件,所有的写操作都回到主数据中心之后,数据进行了更新,操作之后如何同步更新备数据中心的缓存也是非常大的挑战。


更多精彩内容,欢迎观看:

带你读《云上自动化运维宝典》——一文详解云上跨可用区容灾解决方案和异地多活能力建设最佳案例(3):https://developer.aliyun.com/article/1405310

相关文章
|
18天前
|
弹性计算 运维 安全
云上DevOps自动化的最佳实践
本文介绍了云上DevOps自动化最佳实践,重点探讨了企业在上云过程中面临的成本管理、运维效率和弹性等问题。通过阿里云的产品和服务,企业可以实现自动化的资源管理、成本优化和高效运维。文章详细阐述了如何利用标签进行成本分析、选择合适的付费类型和实例规格、以及通过弹性伸缩降低成本。此外,还介绍了新功能发布,如统一的实例运维通道界面、AI辅助的运维工具等,帮助企业提升云上业务的管理和运营效率。
|
29天前
|
Prometheus 运维 监控
Prometheus+Grafana+NodeExporter:构建出色的Linux监控解决方案,让你的运维更轻松
本文介绍如何使用 Prometheus + Grafana + Node Exporter 搭建 Linux 主机监控系统。Prometheus 负责收集和存储指标数据,Grafana 用于可视化展示,Node Exporter 则采集主机的性能数据。通过 Docker 容器化部署,简化安装配置过程。完成安装后,配置 Prometheus 抓取节点数据,并在 Grafana 中添加数据源及导入仪表盘模板,实现对 Linux 主机的全面监控。整个过程简单易行,帮助运维人员轻松掌握系统状态。
209 3
|
1月前
|
Serverless 决策智能 UED
构建全天候自动化智能导购助手:从部署者的视角审视Multi-Agent架构解决方案
在构建基于多代理系统(Multi-Agent System, MAS)的智能导购助手过程中,作为部署者,我体验到了从初步接触到深入理解再到实际应用的一系列步骤。整个部署过程得到了充分的引导和支持,文档详尽全面,使得部署顺利完成,未遇到明显的报错或异常情况。尽管初次尝试时对某些复杂配置环节需反复确认,但整体流程顺畅。
|
2月前
|
运维 监控 安全
云计算环境下的运维挑战与解决方案
本文探讨了云计算环境中运维面临的主要挑战,包括资源管理、自动化部署、安全性问题等,并提出了相应的解决策略。通过案例分析和最佳实践,为云环境下的运维工作提供了指导和参考。
71 1
|
2月前
|
机器学习/深度学习 监控 算法
车辆违停检测:基于计算机视觉与深度学习的自动化解决方案
随着智能交通技术的发展,传统人工交通执法方式已难以满足现代城市需求,尤其是在违法停车监控与处罚方面。本文介绍了一种基于计算机视觉和深度学习的车辆违停检测系统,该系统能自动监测、识别并报警违法停车行为,大幅提高交通管理效率,降低人力成本。通过使用YOLO算法进行车辆检测,结合区域分析判断车辆是否处于禁停区,实现了从车辆识别到违停判定的全流程自动化。此系统不仅提升了交通管理的智能化水平,也为维护城市交通秩序提供了技术支持。
|
2月前
|
运维 监控 关系型数据库
数据库管理中的自动化运维:挑战与解决方案
数据库管理中的自动化运维:挑战与解决方案
|
2月前
|
运维 Serverless 数据处理
Serverless架构通过提供更快的研发交付速度、降低成本、简化运维、优化资源利用、提供自动扩展能力、支持实时数据处理和快速原型开发等优势,为图像处理等计算密集型应用提供了一个高效、灵活且成本效益高的解决方案。
Serverless架构通过提供更快的研发交付速度、降低成本、简化运维、优化资源利用、提供自动扩展能力、支持实时数据处理和快速原型开发等优势,为图像处理等计算密集型应用提供了一个高效、灵活且成本效益高的解决方案。
112 1
|
3月前
|
运维 Serverless 数据处理
Serverless架构通过提供更快的研发交付速度、降低成本、简化运维、优化资源利用、提供自动扩展能力、支持实时数据处理和快速原型开发等优势,为图像处理等计算密集型应用提供了一个高效、灵活且成本效益高的解决方案。
Serverless架构通过提供更快的研发交付速度、降低成本、简化运维、优化资源利用、提供自动扩展能力、支持实时数据处理和快速原型开发等优势,为图像处理等计算密集型应用提供了一个高效、灵活且成本效益高的解决方案。
81 3
|
3月前
|
运维 监控 安全
构建高效运维体系:从监控到自动化的全面指南在当今数字化时代,运维作为保障系统稳定性和效率的重要环节,其重要性不言而喻。本文将深入探讨如何构建一个高效的运维体系,从监控系统的搭建到自动化运维的实施,旨在为读者提供一套完整的解决方案。
本文详细介绍了高效运维体系的构建过程,包括监控系统的选择与部署、日志分析的方法、性能优化的策略以及自动化运维工具的应用。通过对这些关键环节的深入剖析,帮助运维人员提升系统的可靠性和响应速度,降低人工干预成本,实现业务的快速发展和稳定运行。
|
3月前
|
存储 运维 Cloud Native
阿里云国际CloudOps的优势和云上运维的特点
阿里云国际CloudOps的优势和云上运维的特点