GaussDB-基于Paxos协议的高可用

GaussDB-基于Paxos协议的高可用

可获得性

本特性自503.1.0版本开始引入。

特性简介

DCF全称是Distributed Consensus Framework,即分布式一致性共识框架。它是一款自研的高性能、高度成熟可靠、易扩展、易使用的独立基础库,其他系统通过API接口可方便地集成DCF组件。DCF基于Paxos协议实现,解决分布式一致性问题,提升集群高可靠高可用能力。

当配置为DCF模式后,DN可以支持基于Paxos协议的复制与仲裁能力。DN基于Paxos的选主和日志复制,复制过程中支持压缩及流控,防止带宽占用过高。提供基于Paxos多种角色的节点类型,并能够进行调整。支持查询当前数据库实例的状态。

特性描述

  • DCF进行日志复制时,支持对日志进行压缩后再传输,减小对网络带宽的占用。
  • DCF支持SSL,包括TLS1.2和TLS1.3协议标准。当开启SSL时,DN默认将DCF配置为TLS1.2协议标准。
  • DCF支持TLS1.2如下密码套件:TLS_ECDHE-ECDSA-AES256-GCM-SHA384、TLS_ECDHE-ECDSA-AES128-GCM-SHA256、TLS_ECDHE-RSA-AES256-GCM-SHA384、TLS_ECDHE-RSA-AES128-GCM-SHA256。
  • DCF支持passive角色节点类型,passive节点不参与选举,只做日志的同步以及回放,该类型节点在高负载的情况下,日志同步会做流控。
  • DCF支持logger角色节点,logger节点可以参与选举投票有投票权但无选举权,只复制DCF的日志,不进行redo。
  • DCF的follower和passive角色可以在线互换,即不中断业务的情况下,follower角色的节点转化为passive角色,passive角色的节点转化为follower。
  • DCF支持少数派强起能力,在数据库实例多数派故障的情况下,从正常的备DN中选择少数派模式强启成为主DN,其余正常的备DN从主DN复制日志。
  • DCF支持自选主能力,在原主DN故障的场景下,在保证数据一致性的前提下,剩余备DN自动选出新的主DN。
  • DCF支持策略化多数派能力,以多数派为前提,同时根据用户配置的AZ,保证AZ内至少有一个节点同步复制日志。
  • DCF支持手动模式,在手动模式下不自动仲裁,此模式下对接上层CM等管理组件做仲裁适配,DCF进行日志复制功能。
  • 支持DCF日志与DN日志合一存储,DCF多数派达成和DN仅存储一份日志,减少IO带宽占用,日志合一后日志刷盘的IO开销比两份日志下降20%+,优化性能。
  • 支持从Quorum模式切换到DCF模式,以及从DCF模式恢复到Quorum模式。切换过程中不需要重启数据库,能做到数据不丢失。
  • 支持级联备节点部署能力,级联备节点仅从备机同步日志,降低主机日志复制压力,仅支持容灾灾备集群部署级联备。
  • 支持分布式安装部署,支持的功能包括安装、启停、增删副本、节点替换和修复、节点重建、switchover、failover、升级回滚、备份恢复、备机备份、自动降副本。
  • DCF模式1主1备1logger组网下不支持增删副本、连接备机执行build、强切;强切功能适用于长时间无主的情况,在DCF模式下如果DCF层面出现leader,此时不需要再执行强切,因为主节点已经存在。
  • 支持1主1备1 logger组网,logger节点辅助仲裁和保留日志、不可当主、无数据库,logger节点可以大大简配CPU和内存、轻量级部署。含logger节点集群环境在业务数据场景下,如果原主机故障且候选主机落后于日志节点情况下,由于候选主机需要同步完日志节点数据并回放升主,因此该场景不能保证RTO能力。
  • 支持从Quorum到DCF模式切换,支持1主2备到1主1备1 logger替换。
  • DCF默认工作在最大保护模式,支持通过配置工作在最大可用模式和最大性能模式。DCF支持强切功能。
  • DCF支持分片自动升降副本,当一个分片故障了半数及以上节点时,为了降低分片故障对业务的影响,集群管理对分片上可用节点进行降副本操作,当检测到故障恢复后,自动触发升副本操作。
  • DCF支持联合仲裁,即自动模式,在一些复杂场景会联合借助CM组件的全局视角实现自仲裁能力增强,解决复杂场景问题,例如半数节点故障自动降副本。支持安装为联合仲裁模式集群,管控需配置如下参数:"dnParams":{"dcf_run_mode":0},"cmParams":{ "dn_arbitrate_mode":"paxos" }。

特性增强

无。

特性约束

  • 若使用此功能,DN最少三节点,在安装部署阶段需要开启DCF开关。在DCF模式下通过多数派选举,安装过程中如果故障节点数加build节点数达到多数派会导致数据库实例安装失败,如在安装一主两备时,安装过程中一节点因内存不足导致安装失败,另外两节点正常启动,但随后备机会进行一次build,这时build节点加故障节点为2,达到多数派会导致数据库实例安装失败,请在安装过程中检查内存和磁盘等资源是否充足。
  • 若某个AZ配置了策略化多数派参数,当AZ内所有的节点均故障时,在对节点做build相关的操作时,需要将该AZ配置从策略化多数派配置信息中移除。
  • DCF支持手动模式是针对集群级的工作模式的设置,分布式集群仅支持手动模式选举,在此工作模式下不支持节点passive角色,集群安装部署也不支持passive角色。
  • DCF在容灾场景下主备集群仅支持手动模式。
  • 从Quorum模式切换到DCF模式,仅支持固定次数(3次)切换,如超过固定次数需再次切换,则需要重启数据库实例。模式切换过程中,数据库内核涉及到线程关闭和拉起,可能会短暂影响业务(一般小于1分钟),尤其是数据量大的时候。所以建议模式切换过程中尽量少或不要运行业务。
  • 包含logger节点的集群典型组网是1主1备1 logger,其他组网不承诺支持。
  • logger节点仅用来辅助仲裁和保留日志,不要在logger节点上启动roach备份等进程。logger节点不支持查询系统视图与系统表。logger节点部署实例最小支持4核8GB内存。

依赖关系

无。

 
posted @ 2024-10-30 08:57  jerrywang1983  阅读(8)  评论(0)    收藏  举报