暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

华为GaussDB T Z-Paxos实现跨AZ、跨Region高可用

墨天轮 2019-09-28
2714

Z-Paxos实现跨AZ、跨Region高可用

金融行业既存在大资金量交易,又存在高并发的小额交易。当前现有的数据服务不能同时满足可用性和一致性,无法在两者之间提供动态平衡,有着较高的技术风险和极高的维护复杂度。GaussDB 100改进Z-Paxos协同算法,通过Paxos、Pipeline和并行技术提供了高性能的两地三中心高可用方案。

Z-Paxos复制协议是一种基于Paxos一致性协议进行增强,并面向数据库物理日志复制进行优化的跨DC高可用协议。协议基于Quorum多数派假设,任何情况可以容忍少数派故障(主备总数为2f+1,则可容忍f节点故障),不影响主机可用性。

图1 Z-Paxos复制流程示意图

Z-Paxos复制协议支持以下特性:

  • 优先级自仲裁:仲裁逻辑下沉,日志复制模块构造自仲裁能力,感知集群部署形态,提供多种仲裁逻辑,适应不同部署需求。
    • 外部仲裁:Z-Paxos不主动触发选主,完全由外部CM组件控制仲裁逻辑。
    • 随机仲裁:每个节点随机生成选主超时时间,先触发的先选主。
    • 静态优先级仲裁:静态指定每个节点的仲裁优先级,主故障时确保优先级高的升主。
    • 动态优先级仲裁:根据部署形态制定优先级规则,按照AZ内>同城跨AZ>异地AZ的优先级选主。
    图2 Z-Paxos动态优先级自仲裁示意图
  • 角色定制化:增加不参与多数派复制和选举的Passive角色,满足异地部署及灵活运维的需求。
    图3 Z-Paxos Passive角色示意图

    此外,新增的备机角色在日志追赶完成前先临时指定为Passive角色,避免因日志追赶影响集群可用性。

  • 极致性能:通过全面的异步、并行、pipeline等优化,提升日志复制性能,减小引入Z-Paxos复制模块的性能耗损。
  • 灵活部署:支持最多9节点(不含Passive)部署,提供在线动态增删节点及角色转换能力,节点灵活迁移与变更。
  • 异地容灾:即使发生多数派故障,少数派节点仍可手动强起快速提供服务(丢失少量数据),并保证DN内事务一致性。

采用Z-Paxos复制的优势:

  • 缩短仲裁链路,减小故障检测时间,简化部署,RTO:本地、同城30秒,异地10分钟;RPO:同城0,异地秒级。
  • 故障场景全面化:全面支持AZ故障、AZ断连、网络隔离、进程僵死、网面隔离等各类分布式故障场景。
  • 支持灵活仲裁策略和多种复制角色,部署形态更加灵活:单AZ多副本、两地三中心、同城3AZ、双AZ主备、异地多AZ等。
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论