高可用架构之:容灾多活方案

举报
华为云确定性运维 发表于 2022/11/25 16:29:06 2022/11/25
【摘要】 当前很多业务超速增长,架构更迭速度日益加快,业务系统稳定性诉求对容灾能力提出更高要求。本文主要介绍华为云多活高可用技术基础内容,包含华为云方案思路方法论及相关服务化产品等。

来源:华为云SRE确定性运维专刊(第二期)

1.PNG

       当前很多业务超速增长,架构更迭速度日益加快,业务系统稳定性诉求对容灾能力提出更高要求。本文主要介绍华为云多活高可用技术基础内容,包含华为云方案思路方法论及相关服务化产品等。

      背景趋势
      当前很多业务超速增长,架构更迭速度日益加快,很多toB、to C业务对业务连续性要求很高,每一次故障对收入、品牌等造成直接负面影响,业务系统稳定性诉求对容灾能力提出更高要求。


3.PNG



      核心价值
      应用多活是以应用为中心的云原生容灾架构,确保当灾难发生时可在较短时间内实现业务流量切换,尽可能减少灾难带来的损失,有效保障业务系统持续稳定运行。已成为业界明确趋势。多活高可用方案解决不同维度,如业务、数据、机房、数据中心故障等的带来的影响,并通过容灾能力提高业务的连续性。提供业务峰值负载分担,相比传统的灾备系统,应用多活解决了资源的可复用问题,通过动态的流量调控,快速弹性和扩容,保障业务可靠性。

      » 业务连续性:不同于容灾,实时流量分摊,故障快速切换。
      » 水平可扩展:为业务的高速发展提供了支撑,在同城多活场景下做了流量权重划分。
      » 流量隔离:灵活调度流量,相互隔离,可以实现业务的不断创新和试验田。
      » 降本增效:多活相比传统容灾提供了更优秀的流量分发机制,不需要承载太多的冗余成本,提高了统一的资源利用率。同时降低成本。

      分层架构
      应用多活架构需要在不同维度,不同层级的共同协作下完成,每个层级所关注的内容都存在差异,这里把整个多活能力分为几个理论层级,分别是:服务层、管理层、接入层、应用层、数据层、IaaS层,每个层级都需要满足不同的高可用的多活场景和能力。
      » 服务层:通过基于流程和服务的不断的容灾演练、迁移演练等方式加强自身对故障和灾难的容错能力。
      » 管理层:指管理控制层,实现仲裁中心,探活,业务切换,流量治理等关键动作。
      » 接入层:接入层是业务多活的核心入口,是整个多活业务开放的汇聚点。
      » 应用层:包含应用管理、微服务组件、消息组件等部分,涵盖了应用多活的端到端生命周期管理。
      » 数据层:数据层涵盖业务应用数据读写、数据存储、数据同步、数据备份等关键动作。
      » IaaS层:包括计算、存储、网络等基础设施的多活规范,包括跨云、跨异构场景的底层资源管理。

2.PNG

      1、管理层技术要求 
      描述:指管理控制层,实现仲裁中心、探活、业务切换、流量治理等关键动作。
      1.1 仲裁服务
      描述:仲裁服务是分布式部署的,可检测生产、容灾站点的健康状态,用于为多活服务管理组件判断故障内容。仲裁服务在IaaS层、应用层、数据层都存在,仲裁可以理解为第三站点对主站点进行仲裁,判断站点的链路是否正常,从而实现站点级自动切换触发条件。
       1.2 状态监控与异常处理
     
描述:提供机房、网络状态监控信息,通过“内网连接是否正常、服务发现中心是否可写入”来判断机房状态,发现故障,并自动处理故障。当机房状态发生变更时,通过服务发现中心通知所有业务节点或中间件。
      1.3 配置管理中心
     
描述:多活系统需要有统一的配置管理中心,用于同步多个分区间的配置,通过配置可以快速被多个分区订阅。 
      2、接入层技术要求
   
  描述:接入层是业务多活的核心入口,是整个多活业务开放的汇聚点。
      2.1 接入网关
   
  描述:接入网关作为业务流量打入机房的第一跳,负责应用多活入口流量的识别和分发,具备机房路由和应用路由两个核心能力。
      2.1.1 机房路由
     
描述:支持比例分流及路由纠错能力,即支持根据一定的比例规则,将流量分流到不同机房;支持从流量请求中提取携带的业务标识,并根据一定的路由规则,将流量路由纠错到正确的机房。
      2.1.2 应用路由
     
描述:支持根据流量属性按照一定映射规则,将流量路由到不同的后端应用。
      2.1.3 应用层技术要求
   
  多活的业务服务需要遵从无状态设计要求,支持业务处理逻辑和状态数据分离,所有状态数据都保存到分布式缓存或数据库,业务处理进程分布式、无状态,支持按需使用、自动水平伸缩,实例快速启动。
      3、数据层技术要求
     
描述:数据层涵盖业务应用数据读写、数据存储和数据同步。
       3.1 数据同步
     
描述:支持将数据异步复制到其他机房,以便实现数据的冗余备份,保障故障场景数据不丢失和极端场景数据少丢失。
       3.2 通过统一封装的消息SDK进行数据访问 
 
    描述:提供标准的SDK能力屏蔽数据库或者中间件的异构场景,支持业务最小化修改。
      3.3 数据源切换
   
  描述:在同城场景,多机房内的应用均读写单数据库集群的情况下,支持单集群发生故障时能够将应用访问连接的数据源切换到另一个备数据库集群。
      华为云多活高可用技术基础内容如上,包含华为云方案思路方法论及相关服务化产品。多活高可用方案属于有一定应用侵入的方案,实际落地的时候,架构师要考虑不同的业务现状,包括涉及技术栈、业务时延敏感度、数据一致性要求,甚至有状态中间件、应用单元化、秒级切换等各类诉求,综合各类方案优缺点,整体评估决策实施。  

    拓展阅读:华为云SRE确定性运维专刊(第二期)

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

评论(0

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

全部回复

上滑加载中

设置昵称

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

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

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