摘要: Patroni 流程整理目录-配置文件 1. 配置文件 1.1 读取 配置文件的读取时机是Config类的创建时机。这个创建有两种情况,如下所述: patroni读取配置文件则是对Config类进行初始化的过程,在patroni/__main__.py文件的main函数中,调用了process_ar 阅读全文
posted @ 2024-12-13 17:00 零の守墓人 阅读(83) 评论(0) 推荐(0)
摘要: Patroni中对主备切换、故障转移和命令行的流程整理 1. 主备切换 主备切换(Switchover)是高可用性(High Availability,HA)系统中的一个重要操作,常见于数据库集群或分布式系统中。在主备架构中,通常有一个主节点和一个或多个备节点,备节点会复制主节点的数据并保持同步。 阅读全文
posted @ 2024-12-13 16:59 零の守墓人 阅读(626) 评论(0) 推荐(0)
摘要: Patroni中对pg的重启、停止和启动详解 对于pg的重启、停止和启动的操作,都在/postgres/__init__.py文件中定义了相关的函数,都是调用其中的函数进行使用。 1. 停止 1.1 stop函数 重启的函数为stop。其代码如下所示: def stop(self, mode: st 阅读全文
posted @ 2024-12-13 08:44 零の守墓人 阅读(205) 评论(0) 推荐(0)
摘要: Citus的restart详解 1. 命令行restart 在ctl.py的restart方法中,获取到集群的信息,然后再获取到要重启节点的信息。 cluster = get_dcs(cluster_name, group).get_cluster() members = get_members(c 阅读全文
posted @ 2024-12-13 08:44 零の守墓人 阅读(50) 评论(0) 推荐(0)
摘要: 分布式Citus集群与Patroni 1. 环境介绍 2. 安装部署 2.1 安装Docker 2.1.1 检查是否安装 运行以下命令来检查 Docker 是否已安装: docker --version 如果没有返回版本号,则 Docker 可能未安装。 2.1.2 安装 # 更新包索引 sudo 阅读全文
posted @ 2024-12-13 08:43 零の守墓人 阅读(156) 评论(0) 推荐(0)
摘要: 源码安装patroni+postgresql+citus+zookeeper 1. 安装环境 软件版本: python 3.9.16 postgresql 16.4 citus 12.1 patroni 4.0.3 zookeeper 3.7.1 1.1 设置SELinux、防火墙 systemct 阅读全文
posted @ 2024-12-13 08:42 零の守墓人 阅读(266) 评论(0) 推荐(0)
摘要: Patroni在Zookeeper中保存的信息 1. 保存的信息 在使用 Patroni 配置高可用 PostgreSQL 集群时,etcd 或 Zookeeper(作为分布式协调系统)通常用于存储和管理与集群状态和配置相关的元数据。具体来说,Patroni 在这些系统中保存了以下几类信息: 1.1 阅读全文
posted @ 2024-12-13 08:42 零の守墓人 阅读(85) 评论(0) 推荐(0)
摘要: Ciuts的MX模式 Citus集群由Coordinator(CN节点)和Worker节点组成。CN节点上放元数据负责SQL分发; Worker节点上放实际的分片,各司其职。 但是,citus里它们的功能也可以灵活的转换。 1. 什么是MX模式? MX模式是Citus的扩展,允许app直接连接wor 阅读全文
posted @ 2024-12-13 08:39 零の守墓人 阅读(88) 评论(0) 推荐(0)
摘要: Patroni 读取配置文件(包含Zookeeper中) 1. patroni读取配置文件 1.1 什么时候创建配置类 patroni读取配置文件则是对Config类进行初始化的过程,在patroni/__main__.py文件的main函数中,调用了process_arguments函数首先进行了 阅读全文
posted @ 2024-12-13 08:35 零の守墓人 阅读(75) 评论(0) 推荐(0)
摘要: 241112-Patroni处理流程图 原文链接: https://zhuanlan.zhihu.com/p/159009358 Patroni处理流程图 Patroni的处理逻辑如何呢?patroni官方给出了处理流程图 ha_loop_diagram.png,如下 https://raw.git 阅读全文
posted @ 2024-12-13 08:34 零の守墓人 阅读(59) 评论(0) 推荐(0)
摘要: python中的面向对象详解 1. 面向过程和面向对象 1.1 面向过程 面向过程就是先分析出解决问题的步骤,再把步骤拆成一个个方法,是没有对象去调用的,通过一个个方法的执行解决问题。 1.2 面向对象 面向对象就是将编程当成是一个事物(对象),对外界来说,事物是直接使用的,不用去管内部的情况,而编 阅读全文
posted @ 2024-12-13 08:30 零の守墓人 阅读(527) 评论(0) 推荐(0)
摘要: python中的单继承和多继承 1. 继承 1.1 继承的概念 继承:可以实现代码重用,相同的代码不需要重复编写。 1.2 为什么需要继承 我们有以下几个类:Animal:其中封装了drink, eat, run 和sleep四个方法, Dog:其中也封装了eat, drink, run, slee 阅读全文
posted @ 2024-12-13 08:29 零の守墓人 阅读(140) 评论(0) 推荐(0)
摘要: python中文件的基本操作、文件读写 1. 基础操作 1.1 文件概念 文件就是存储在某种长期储存设备上的一段数据。 1.2 基础操作 打开文件 读、写文件 关闭文件 可以只打开和关闭文件,不进行任何读写操作。 1.3 文件对象的方法 1.3.1 open() 创建一个file对象,默认是以只读模 阅读全文
posted @ 2024-12-13 08:29 零の守墓人 阅读(88) 评论(0) 推荐(0)
摘要: 基于Patroni的Citus高可用环境部署 参考文献:https://www.cnblogs.com/VicLiu/p/14333979.html 1. 实验环境 主要软件 CentOS 7.8 PostgreSQL 12 Citus 10.4 patroni 1.6.5 etcd 3.3.25 阅读全文
posted @ 2024-12-13 08:27 零の守墓人 阅读(133) 评论(0) 推荐(0)
摘要: Patroni中的Citus 1. Citus 1.1 Citus介绍 Citus是一个非常实用的能够使PostgreSQL具有进行水平扩展能力的插件,或者说是一款以PostgreSQL插件形式部署的基于PostgreSQL的分布式HTAP数据库。本文简单说明Citus的高可用技术方案,并实际演示基 阅读全文
posted @ 2024-12-13 08:27 零の守墓人 阅读(155) 评论(0) 推荐(0)