7*24 小时业务不中断!菜鸟乡村应用多活落地实践

本文涉及的产品
任务调度 XXL-JOB 版免费试用,400 元额度,开发版规格
应用实时监控服务-用户体验监控,每月100OCU免费额度
可观测可视化 Grafana 版,10个用户账号 1个月
简介: 从前期调研、方案评估、多活建设到最终核心物流业务的改造上线,仅仅只用了 2 个多月,菜鸟乡村就完成了核心业务同城多活容灾的目标,实现业务的 7*24 小时不间断服务,最大程度保障了业务稳定性及连续性。

作者:比扬


从前期调研、方案评估、多活建设到最终核心物流业务的改造上线,仅仅只用了 2 个多月,菜鸟乡村就完成了核心业务同城多活容灾的目标,实现业务的 7*24 小时不间断服务,最大程度保障了业务稳定性及连续性。


菜鸟乡村作为服务农村的新型物流业务,通过数字化技术,打造县域、乡镇、村三级共同配送服务体系,帮助乡村物流降本提效,提升乡村消费者快递服务体验;此外,还通过建设产地仓,形成产品分级品控、物流运输一体化,带动乡村农货上行,帮助农民增收。截至目前菜鸟乡村物流已服务 1000 多个区县,服务站点覆盖 30000 多个乡村。


面对高速发展的业务规模,除了不断迭代业务能力的同时,菜鸟乡村也在不断的夯实其技术底座和业务应用的高可用能力。菜鸟乡村的业务完全搭建在大公共云之上,采用了云原生架构,目的是为了借助成熟的云产品能力实现业务快速迭代。在调研多活容灾之初,菜鸟的同学就找到了阿里云原生高可用团队负责业务多活容灾 MSHA 的同学来一起探讨针对菜鸟乡村业务现状和未来业务规划的多活容灾方案。经过 2 个多月的时间,菜鸟乡村联合阿里云原生高可用团队,打造了智能化、集约化的云化同城多活物流系统和共同配送平台,实现了相关系统应用的同城多活容灾架构建设,具备了可用区级流量比例的秒级调控(<10s),以及故障场景的可用区全方位流量(HTTP、RPC、MQ、任务调度)一键切 0 能力,历次演练可用区级故障,一键切 0 生效时间均小于 20 秒,为菜鸟乡村业务提供了有力的容灾保障。


菜鸟乡村应用多活的改造实践之路


对于一家高速发展的公司来说,IT 的建设与运维通常跟不上业务的高速发展与迭代,如何高效、低成本的保障业务稳定成为业务发展中面临的非常重要的挑战与风险。让我们一起来体验菜鸟的乡村的应用多活的改造实践之路。


前期面临的稳定性挑战及高可用诉求


  1. 核心业务系统仅在公共云的单一可用区部署,存在可用区级的故障风险。


  1. 保障业务快速迭代的同时,如何高效且低代价的落地容灾方案。


  1. 容灾方案的选型问题。目标是灾难发生时尽可能的缩短故障对用户的影响时长,快速恢复业务。


从容灾指标维度分析,在一个分布式系统中,一致性(Consistency)、可用性(Availability)、分区容错性(Partition tolerance)中最多只能同时实现两点,不可能三者兼顾。在容灾场景下,多数系统选择 AP 或 CP 模式。

image.gif

1.png


从实施成本维度分析,稳定性和扩展性效益越高,所带来的实施成本也越大。


2.pngimage.gif


为了快速补全云上基建的单可用区风险,菜鸟乡村选择通过“同城双活”的容灾架构来快速补齐短板,提升业务的高可用性。


结合业务现状快速制定同城应用双活容灾方案


3.png


菜鸟乡村与阿里云一起针对所面临问题以及未来业务规划进行了深度沟通与研讨。结合业务容灾的诉求以及业务技术栈,阿里云制定出了同城应用多活架构的解决方案,方案要点如下:


  1. 可用区级应用双活。从 1 个可用区拓展到 2 个可用区,2 个可用区部署对等容量的应用。基于多活接入网关产品承接所有业务流量,并按照比例或精准路由规则将流量调度到不同可用区的后端应用,多个可用区部署的应用同时对外提供服务,实现应用多活。


  1. 微服务同可用区优先调用。基于多活产品 Agent 能力,支持开启 Dubbo/SpringCloud 同可用区优先调用功能,从而避免跨可用区调用带来的RT 增长。而当机房内健康的 Provider 数量低于配置的阈值时,则优先调用策略自动失效,避免同可用区 Provider 过少支撑不住上游的流量压力。


  1. 快速容灾恢复。当某一可用区发生故障时,基于多活产品的一键切流能力,首先通过多活接入网关将 HTTP 流量切换到另一可用区, 同时基于多活产品 Agent 能力将故障可用区内的 RPC(Dubbo/SpringCloud)、MQ(RocketMQ)、定时任务(SchedulerX/XXL-Job)客户端进行故障隔离,实现全局流量的快速容灾切换。


上线前多次的容灾演练与验证


同城双活的搭建能否平稳的运行到线上,预发环境的验证和生产环境的容灾演练是尤为关键的环节。验证工作主要包含以下两部分:


  1. Agent 启动验证。各类中间件的切 0 强依赖 Agent,必须确保 one Agent 能在所有业务容器正常启动、探针可正常上报至 MSHA 管控服务,且 Agent 启动后未影响到其他关联服务。


  1. 容灾切流能力验证。搭建同城双活是为了能在故障场景下及时切流,那么接入层切 0 能力验证、服务层切 0 能力验证、消息层切 0 能力验证、调度任务层切 0 能力验证、服务层流量封闭策略生效验证等都是必不可少的内容。


容灾演练则是在生产环境下,实际验证容灾的效果。生产环境真实演练选择在业务低谷期,整体验证内容跟预发环境类似,确保业务验证通过,各类中间件、消息、任务的走向符合预期。


菜鸟乡村应用多活的业务价值


借助于阿里云的同城应用多活解决方案,帮助菜鸟乡村实现了在较短的时间内业务同城容灾的目标,实现业务 7*24 小时不间断服务,即使单机房故障也能够分钟级恢复,最大程度保障业务的连续性。


同时菜鸟的业务高可用之路还未停止,如何引入混沌工程进行模拟真实故障注入来进行容灾演练,如何将双活切换进行常态化工作并时刻保鲜都是需要持续去完成的工作,多活容灾之路不止于此,高可用之路也不止于此。菜鸟乡村持续在路上。


如今,云原生已经成为企业数字化转型的关键策略,由于应用需要快速开发和交付,这就促使企业采用云原生的方法来开发应用,以提高效率,并增加灵活性。对于身处云原生时代的企业和开发者而言,不仅需要采用云原生的手段来应对业务的高速迭代,更要关注云原生下的高可用建设,同时也建议以开阔的视野和开放的心态去拥抱云原生生态。


1 月 11 日,在上海的云原生实战峰会上,阿里云智能研究员丁宇发布了《应用多活技术白皮书》,同时为了推动业界容灾的发展,建立云原生业务容灾标准,阿里云对外开源“应用多活”中间件:AppActive。


点击此处,立即下载《应用多活技术白皮书》!


了解阿里云原生面向应用多活的商业化多活容灾产品 MSHA,请关注:https://www.aliyun.com/product/aliware/ahas/msha


目录
打赏
0
0
0
0
12645
分享
相关文章
携程乐鸿辉:混合云弹性如何帮助携程应对业务的低迷与快速恢复
2023年10月31日-11月2日,2023云栖大会在中国杭州·云栖小镇举行,携程容器与混合云研发总监乐鸿辉在【云服务器 & 计算服务】专场中带来了题为《混合云弹性如何帮助携程应对业务的低迷与快速恢复》的主题演讲,分享了携程的云原生之旅、混合云弹性实践以及最终实践效果。
云上新实践!江西农信完成业务系统不停服迁移
云上新实践!江西农信完成业务系统不停服迁移
168 0
首次!统一调度系统规模化落地,全面支撑阿里巴巴双 11 全业务
今年双 11 首次规模化亮相的统一调度,通过一套调度协议、一套系统架构,统一管理底层的计算、存储、网络资源,超大规模、高效率、自动化的资源弹性,实现了业界新的突破。在离线混部、离在线混部、新的快上快下技术,减少数万台服务器采购,带来数亿计的资源成本优化和大促效率提升。
1939 9
首次!统一调度系统规模化落地,全面支撑阿里巴巴双 11 全业务
【云栖号案例 | 新零售】O2O电商服务平台上云 完美控制预算 业务准时上线
公司发展初期需要控制成本,业务上线紧迫,其他厂商服务器稳定性和数据库性能无法满足业务。上云后将预算控制在范围内,避免因项目延期而造成损失。
【云栖号案例 | 新零售】O2O电商服务平台上云 完美控制预算 业务准时上线
【云栖号案例 | 新零售】完美日记上云 保障“双11”活动平稳运行
在面临大促时用户数量和订单量增加给服务器造成压力,还要确保微商城系统的数据安全。上云后定制场景防护策略帮助企业从容面对业务高峰、安全压力。
【云栖号案例 | 新零售】完美日记上云 保障“双11”活动平稳运行
【云栖号案例 | 教育与科研机构】得到APP上云 全链路压测让业务爆发更稳着陆
罗辑思维采用阿里双11备战核武器 - 全链路压测规划系统容量,不到三个月进行约七百次的单链路压测、十六轮完整形态全链路压测,吞吐量提升百倍。
【云栖号案例 | 教育与科研机构】得到APP上云 全链路压测让业务爆发更稳着陆

云原生

+关注
AI助理

你好,我是AI助理

可以解答问题、推荐解决方案等