基于Patroni的Citus高可用方案实现-Oracle迁移专场(28页).pdf
1、嘉宾:赖伟嘉宾:赖伟公司:神州飞象(北京)数据科技有限公司公司:神州飞象(北京)数据科技有限公司邮箱:邮箱:目录/Contents01020304Patroni简单回顾Citus高可用需求分析高可用功能设计其他注意点01 Patroni简单回顾基于Python的开源软件(MIT协议)使用Dcs管理支持虚拟化技术集中式文件配置支持复制槽、pg_rewind可自定义外部callback脚本https:/ 可使用Etcd、Zookeeper或consul作为Dcs支持k8s、docker等容器化搭建及管理单节点部署只需配置一个ymal文件,无需另外配置数据库文件可按照实际情况配置配置是否使用pg _
2、rewind快速恢复可配置on_role_change、on_start、on_stop、on_restart及on_reload等情况的callback scriptpatroni 一般由2n+1个节点组成,正常节点数不少于n+1可提供服务Zk1Zk2Zk3node Anode Bnode CDcsDcs:etcd Consul Zookeeper02 Citus高可用需求分析非非MX节点类型节点类型数据库动作数据库动作元数据更新元数据更新cnwork(主)(备)(备)(主)cn(主)元数据MX节点类型节点类型数据库动作数据库动作元数据更新元数据更新cnwork(主)(备)(备)(主)CN(
3、主)元数据所有MXwork(主)节点故障,无需元数据更新,Patroni可达要求。2.work节点故障,Patroni只能切换数据库实际角色,无法更新元数据。1.主cn节点的元数据更新a.可考虑利用Patroni的callback功能。b.编写其他进程。2.MX架构中的所有MX work节点元数据更新。a.可使用Citus9.0版本(master_node_update加入了异步更新元数据功能)。b.修改源码(如我司加入了fdd_failover函数)。Patroni原生功能,可在on_role_change、on_start、on_stop、on_restart及on_reload等情况下执
4、行指定脚本。优点:Patroni原生功能触发,开发成本较低。缺点:所有节点都需要部署callback脚本,不易管理。patroniwork1 备Zookeeperpromotescriptcallback主cn元数据可在Patroni的上层编写一个程序,用于实时检查元数据信息和集群内部主从真实角色是否对应,从而触发子进程处理。优点:部署和配置方式灵活可调。缺点:1.相对开发成本较高。2.需要保证该程序的可靠性。patroni主cnZookeeperfddswfddsw元数据获取集群状态1.当work节点主备变化后,及时更新主cn节点上元数据信息。2.监控并跟进故障节点,发出告警。3.记录fai





点击查看更多