PostgreSQL 来自欧罗巴Patroni watchdog 汪汪汪 5
已经写到了第五期, 最近深感学习一件东西,可以和秋风扫落叶的一样的学习和理解,也可以和冰血暴一样的学习了理解,决定用那种方式学习,主要依靠
1 这门技术是临时使用还是基础性的常识
2 这么技术是处于整体知识的什么层次,是基础层还是上层
3 如果这么技术在使用中出现问题,则会造成多大的风险,当时在去弥补是否能快速降低损失.
所以 patroni 占用了不短的一个时间, 对比proxysql也是一样,那个系列也会持续.
首先先说为什么要有watchdog , 见上图, 如果我们的系统在运行是出现问题,节点PG1 失效了,无论是网络的问题,还是主机本身的问题,此时都是要进行重新选举,此时问题就产生在 3 开始选举leader
上期说配置文件的时候
loop_wait: the number of seconds the loop will sleep. Default value: 10
ttl: the TTL to acquire the leader lock (in seconds). Think of it as the length of time before initiation of the automatic failover process. Default value: 30
retry_timeout: timeout for DCS and PostgreSQL operation retries (in seconds). DCS or network issues shorter than this will not cause Patroni to demote the leader. Default value: 10
还的祭出这三条, 1 loop_wait, 2 ttl 3 retry_timeout
已默认值来说一个节点的切换 10+ 30 + 10 是最大的时间, 但实际上会有另一个问题,在选举中,此时所有节点包含失效的节点,都会出现一个问题,此时没有节点是leader, 在此时数据写入的需求是怎么处理的问题.
未了避免脑裂,Patroni 需要确认postgresql 不能在leader 键值在DCS过期后继续接受事务的commit, 在patroni 无法进行 leader lock后,则patroni 将开始试图停止postgresql的方式来保证此期间的不会有脑裂的问题.
watchdog 的主要产生的原因是,如果patroni 无法在此刻关闭postgresql 怎么办? 因为patroni 也不是"孙悟空",也是人肉一枚, 如果由于各种原因导致patroni本身无法工作,watch dog 将尝试从新启动系统,如果工作后,无论怎样patroni还是无法正常工作,则watchdog模式如果设置成required 则这个所在的问题节点是不能成为leader的.当整体选举leader成功后, patroni 将会让watchdog进入休眠的状态.
但在设计watchdog 时会有一个问题,因为设计时差的问题,导致watch dog 本身无法获得patroni 发送的信息,最终在这个工作周期,无法激活 watch dog. 这个时间的设定较 safety margin. 官方给出的建议并不明确,只提到了 watchdog timeout 调整到ttl的一半的时间, 确保watchdog能受到信息,从对loop_wait 和 retry_timeout入手.
默认使用patroni 的数据库机器需要执行
modprobe softdog
chown postgres /dev/watchdog
这里大部分使用的是 LINUX 本身的watch dog
关于watch dog有三个设置
watchdog:
mode: Allowed values: off, automatic, required
mode的值有三个 1 off 不运行watch dog 2 automatic 根据设置的情况,默认使用watch dog ,但如果配置出现问题,watch dog 出现问题,则不使用watch dog ,required 必须使用watch dog 否则无法选择leader
device: /dev/watchdog watch dog 设备本身
safety_margin: 5 看门狗触发和主控键过期之间的安全余量秒数。
PostgreSQL 来自欧罗巴Patroni watchdog 汪汪汪 5相关推荐
- mysql迁移至postgresql_PostgreSQL来自欧罗巴Patroni系列技术主题一
文章转载自公众号:AustinDatabases 本次阅读时长: . . 系列一:为什么选择Patroni?2019.Pgconf.Asia中有这么一篇演讲,关于PostgreSQL的高可用的问题,其 ...
- 创建一个 Dog 类继承 Thread ,每 2 秒叫一次(汪汪汪!!),创建一个 Cat 实现 Runnable 接口,每 3 秒求抚摸一次(主人快摸摸我!!),主函数(主线程)从 1 输出到 10
题目:创建一个 Dog 类继承 Thread ,每 2 秒叫一次(汪汪汪!!),创建一个 Cat 实现 Runnable 接口,每 3 秒求抚摸一次(主人快摸摸我!!),主函数(主线程)从 1 输出到 ...
- 2019年无限法则服务器,无限法则1月16日更新内容一览 新地图欧罗巴海岛介绍
无限法则1月16日更新内容一览 新地图欧罗巴海岛介绍 2019-01-16 11:21:43来源:游戏下载编辑:野狐禅评论(0) <无限法则>1月16日即将进行近期最大的一次更新,第二赛季 ...
- 古希腊神话故事6 :欧罗巴
施瓦布 腓尼基王国的首府泰乐和西顿是块富饶的地方.国王阿革诺耳的女儿欧罗巴, 一直深居在父亲的宫殿里.一天,在半夜时,她做了一个奇怪的梦.她梦见世界 的两大部分亚细亚和对面的大陆变成两个女人的模样,在 ...
- 山东之谜 山东人的祖先原来是欧罗巴人种
中网新空气之军事天地 本文版权归作者 maomi 和中网新空气共同拥有, 转贴请注明作者及出处 如将本文用于媒体出版, 请与作者本人联系 文章标题: 山东之谜!山东人的祖先原来是欧罗巴人种?!难以置信 ...
- 欧罗巴巅峰之战,尤文VS皇马谁终执牛耳?
16/17赛季欧冠决赛即将打响, 是尤文图斯夺魁, 还是皇马卫冕成功? 这场欧罗巴巅峰之战, 你打算在哪儿看? 宅家里?太无聊! 泡酒吧?没新意! 难道你不想亲身体验现场狂High气氛? 欧冠决 ...
- postgresql 高可用 etcd + patroni 之二 patroni
os: centos 7.4 postgresql: 9.6.9 etcd: 3.2.18 patroni: 1.4.4 patroni + etcd 是在一个postgrsql 开源大会上 亚信的一 ...
- postgresql 高可用 etcd + patroni 之六 callback bind vip
os: centos 7.4 postgresql: 9.6.9 etcd: 3.2.18 patroni: 1.4.4 本篇blog介绍下 etcd + patroni 发生切换时使用 callba ...
- colab跑通YOLOV3SPP(代码来自霹雳巴拉WZ)
记录以下,方便日后学习 1)下载码源 !git clone https://github.com/WZMIAOMIAO/deep-learning-for-image-processing.git 2 ...
最新文章
- REACT day 1
- python 用途-Python在每个行业的用处
- 不信不能雷倒你!超牛高考作文
- scala:Scala class的构造方法与继承
- 前景检测算法(八)--SACON算法
- 7.分布式服务架构:原理、设计与实战 --- 服务的容器化过程
- VS2017 安装打包插件
- 基于RDP瘦客户机协议的简要说明
- jar文件不能在nokia s60 sdk模拟器中运行
- 计算机硬盘型号怎么看,硬盘编号怎么看
- editormd html 转义,Markdown(editormd)语法解析成HTML
- 西安省某小学能耗监测及电力监控系统的研究与应用
- 强化学习:确定性策略梯度(DDPG)
- 4.Scanner类、Random类、ArrayList 类
- Eclipse报错:The project: WMY which is referenced by the classpath, does not exist.
- 基于SSM或SpringBoot的JavaWeb项目——写作分析系统
- python调用shell命令
- Splash抓取jd
- linux开启dhcpclient服务,dhcp client 配置
- 智科某课小论文:当今世界计算机硬件与软件发展现状
热门文章
- mysql8 中的rank_Mysql8.0+中的rank()、row_num()、dense_rank()等窗口函数
- [原创]戒盈祈愿(200509总结)
- cout的格式控制——关于cout.width()和cout.fill()
- 【Web前端】千年之恋注册页面——源代码展示
- brpc internal
- bim的二次开发需要什么语言_BIM软件的二次开发是什么?都需要做哪些准备?
- 再见亦是兄弟:别少旭
- 手游代理加盟最准解释来了
- Python爬虫,爬取百度贴吧图片和视频文件,xpath+lxml,访问被拒的原因分析
- 大数据工程师工作笔记之集群节点准备