上海品茶

您的当前位置:上海品茶 > 报告分类 > PDF报告下载

基于Patroni的Citus高可用方案实现-Oracle迁移专场(28页).pdf

编号:87321 PDF 28页 1.77MB 下载积分:VIP专享
下载报告请您先登录!

基于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

5、lover及switchover时更新节点的步骤,可重入执行。4.需考虑进程本身高可用问题。03高可用功能设计1.只在主cn节点上运行。2.复用Patroni的yml文件。3.灵活扩展,增加可靠性。1.MX与非MX架构在更新元数据时步骤一致。2.整理switchover与failover流程逻辑,封装函数。1.通过Citus中的元数据表与Dcs中的真实角色做比对。(不可取)2.Zookeeper中watch每个scope中的leader键。(有缺陷)3.采用新旧leader比对的方式。1.为什么要做区分?switchover是计划内的,failover突发的。switchover需要一些前置步

6、骤来保障数据不丢失,降低切换风险。2.怎么区分?可在switchover时对Dcs中某个特定的键设置标志值区分。1.某个步骤偶然性执行失败,告警且再次执行。2.fddsw执行中崩溃,新激活的fddsw可从中断处继续执行。12234崩溃激活等待激活1.节点故障、恢复的决策依据。2.判断节点类型依据。cn_nodes:cn_scope:-node_192_168_120_130 -node_192_168_120_131wk_nodes:wk_scope:-node_192_168_120_133 -node_192_168_120_134 wk2_scope:-node_192_168_120_

7、135 -node_192_168_120_1361.具有原生patronictl功能。2.区分cn与work,只在为work节点时执行前置步骤。3.进度及结果回馈。1.保留patronictl管理工具。2.以patronictl为蓝本,在post请求前后加入逻辑。3.设置告警及超时时间。WK2masterpatroni WK1CN1fddswreplicapatroni WK2secondaryWK2replicapatroni WK1CN1fddswmasterpatroni WK1unavailablesecondaryZookeeperZookeeperleader=old_leade

8、rleader!=old_leader执行执行元元数据修数据修改流程改流程WK2secondaryprimaryWK2replicapatroni WK1CN1fddswmasterpatroni WK1secondaryZookeeperWK2primary更改更改old_leaderWK2replicapatroni WK1CN1fddswmasterpatroni WK1 secondaryZookeeperWK2primary执行执行switchover 1fddswctl1设置切换标志设置切换标志 执行前置步骤执行前置步骤WK1primary unavailabledemote promotefddswctl清除切换标志清除切换标志leader=old_leaderleader=old_leader2342304 其他注意点1.安装Patroni 建议用virtualenv打包。2.多节点做数据库备份尽量错开时段,以免对Dcs造成影响。尽量将Dsc节点放置在cn节点。3.ttl、loop_wait、retry_timeout 不要设置过短

友情提示

1、下载报告失败解决办法
2、PDF文件下载后,可能会被浏览器默认打开,此种情况可以点击浏览器菜单,保存网页到桌面,就可以正常下载了。
3、本站不支持迅雷下载,请使用电脑自带的IE浏览器,或者360浏览器、谷歌浏览器下载即可。
4、本站报告下载后的文档和图纸-无水印,预览文档经过压缩,下载后原文更清晰。

本文(基于Patroni的Citus高可用方案实现-Oracle迁移专场(28页).pdf)为本站 (云闲) 主动上传,三个皮匠报告文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知三个皮匠报告文库(点击联系客服),我们立即给予删除!

温馨提示:如果因为网速或其他原因下载失败请重新下载,重复下载不扣分。
会员购买
客服

专属顾问

商务合作

机构入驻、侵权投诉、商务合作

服务号

三个皮匠报告官方公众号

回到顶部