研运协同,优化高可用架构,加速创新

举报
华为云确定性运维 发表于 2024/05/15 15:47:03 2024/05/15
【摘要】 本案例聚焦企业在运维转型中面临的高可用问题,通过高可用架构设计,将可用性需求和能力融入到产品设计中,增加产品架构韧性,实现研发运维一体化,构建确定性运维能力,保障业务高可用,助力企业成功转型。

案例供稿:余琛 苏小军 陈玉 张飞
文章来源:《华为云确定性运维案例集(第2期)》

       一、业务背景

      某贸易公司随着数字化技术在各领域的应用,通过改善业务板块运营效率,优化资本结构,提高资本利用率,打造世界一流的全球综合物流供应链服务生态。然而企业核心产品架构不满足日益增长的需求,因此需要不断优化产品高可用架构,引领架构变革和升级。   

      二、业务现状

      随着企业业务系统和场景复杂化,问题和故障多样化,故障发生后定位难、影响大、恢复难,导致业务系统面临严峻的高可用挑战,为消除业务痛点,提升业务系统的稳定性,提高系统抵御风险的能力,增强系统韧性,企业联合华为云进行业务系统高可用优化。

       三、方案实践

      为解决该企业面临的挑战和问题,华为云团队通过梳理业务系统的全景图、系统组件图、组件依赖关系图和部署架构图,聚焦企业高可用架构能力建设,识别APP架构以及云上部署的潜在风险,基于高可用架构设计各模块的能力,参照《高可用架构成熟度评估表》,从冗余、容灾、数据高可用、过载控制、升级不中断、爆炸半径及故障管理等高可用技术点,对当前业务现状进行综合分析、评估,设计出满足业务发展的高可用架构。

0.PNG

      以下,针对综合分析的TOP3问题进行详细的解决方案分析。

      1)冗余技术

      风险点:

      » 单DNS方案部署:单DNS服务器出现故障时,整个网络将无法正常解析域名,导致网络服务中断。

      » 中间件单点部署:单个中间件实例出现故障时,整个服务将无法使用,导致业务中断。

1.PNG

     优化方案:

      » 采用双DNS服务商方案

     当其中一个DNS服务商出现故障时,可以通过DNS切换来保证网站的正常访问;同时采用com,cn域名双活方案。国内购买.cn域名,国外购买.com域名,配置DNS轮询,使用户可以通过不同的域名访问到相同的网站,提高网站的可用性和稳定性。

      » 关键业务使用主备或集群部署

      主备部署可以保证在主节点出现故障时,备节点可以及时接管业务,保证业务的连续性;集群部署通过多节点分担负载,提高系统的处理能力和吞吐量,同时提高系统的可用性和稳定性。

      2)爆炸半径控制技术

      风险点:

      » 核心组件所在的集群管理的租户多:租户数量过多导致资源消耗过高、网络压力大、管理复杂,从而影响集群的性能、稳定性、可扩展性和可靠性。

      » 系统的业务面、控制面和管理面未进行隔离:攻击者可以通过攻击业务面、控制面或管理面中的一个或多个组件,挟持网络,导致业务中断,影响业务的正常运行。

      » 瞬时故障和持续故障集中处理:瞬时故障未及时处理,可能会导致系统崩溃或数据丢失;持续性故障集中处理,可能会导致系统的响应时间变慢或无法正常工作。

2.PNG

      优化方案:

      » 组件模块化部署

      组件分模块可以使系统更加模块化,降低组件之间的耦合性,使得系统更加易于维护和升级。同时,使用不同的实例可以降低故障半径,即当某个模块出现故障时,只会影响该模块的实例,而不会影响整个系统的运行。

      » 解除全局依赖

      在应用前置增加缓存层,将热点数据缓存在本地,减少对全局资源的依赖,提高应用的性能和可用性。采用分布式架构,每个模块都可以独立部署和扩展,减少对全局资源的依赖,提高应用的可用性和扩展性。

      » 有限重试识别瞬时故障,集中处理持续故障

      对于一些短暂的故障,比如网络中断等,使用有限次数的重试来尝试解决问题。但是对于一些持续性的故障,比如硬件故障等,可能需要更换设备或进行维修,进行集中处理。因此,在处理故障时,根据具体情况采取不同的策略。

      3)容灾技术     

      风险点:

      » 应用层、中间件层、数据层均存在单AZ部署组件:单AZ出现故障,应用层、中间件层和数据层等相关组件将无法正常工作,可能会导致系统的不可用或数据丢失等问题,无法抵御AZ级故障风险。

4.PNG

      优化方案:

      » 应用层改造:通过SDRS服务改造迁移相关应用节点跨AZ部署,TCO投入较少(无需停机);也可以选择业务停机部署(TCO=0)。

      » 中间件层改造:中间件集群本身跨AZ高可用部署,自建中间件自行跨AZ部署改造(经评估时延影响较小)。

      » 数据库层改造:DB存在部分实例单AZ部署进行跨AZ改造(通过SDRS迁移改造),TCO较少,针对1台单AZ DB实例。

     四、 业务提升

      1、提升故障管理能力

      从接入层开始设计方案,梳理业务架构上的所有依赖组件,对依赖组件进行去依赖,降低依赖组件故障对核心业务的影响,提升故障快速定位定界,事件恢复效率。

      2、缩小故障影响范围

      服务分模块部署,使用独立可用区,核心组件使用cell架构缩小故障影响范围。

      3、提高核心业务稳定性

      对业务核心功能链路进行分析,梳理单AZ部署组件,分析组件故障影响,输出改进建议。

      4、提升现网稳定性

      使用自动化工具完成发布和分批变更,节点故障自愈,梳理故障模式库,定期演练,提高业务稳定性。

      五、案例总结

      本案例针对企业运维转型过程中业务面临的中断次数多、故障恢复慢、影响范围大等问题,通过高可用架构技术进行优化,以SLO为目标,并提供冗余、容灾、爆炸半径控制等技术能力的优秀实践,将可用性需求和能力融入产品设计中,实现研发运维一体化,构建确定性运维能力,保障业务高可用,助力企业迈向高度确定性运维。

【版权声明】本文为华为云社区用户原创内容,转载时必须标注文章的来源(华为云社区)、文章链接、文章作者等基本信息, 否则作者和本社区有权追究责任。如果您发现本社区中有涉嫌抄袭的内容,欢迎发送邮件进行举报,并提供相关证据,一经查实,本社区将立刻删除涉嫌侵权内容,举报邮箱: cloudbbs@huaweicloud.com
  • 点赞
  • 收藏
  • 关注作者

评论(0

0/1000
抱歉,系统识别当前为高风险访问,暂不支持该操作

全部回复

上滑加载中

设置昵称

在此一键设置昵称,即可参与社区互动!

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。

*长度不超过10个汉字或20个英文字符,设置后3个月内不可修改。