内容提要
Patroni 贡献者在慕尼黑会议上讨论了项目发展。Patroni 是 PostgreSQL 高可用集群的主流方案,由多家公司协作开发。项目已采用语义化版本,未来在 master 分支开发,修复补丁择优移植。暂无 LTS 计划,但欢迎各方参与。代码已加入类型注解,下个大版本将用 primary 替代 master。CYBERTEC 正研究跨数据中心复制与自动故障转移。
延伸解读
版本管理规范化
Patroni 已采用语义化版本,版本号中最后一位用于错误修复,倒数第二位表示次要更新,首位代表重大升级。重大升级可能引入不兼容变更,需谨慎规划。未来开发在 master 分支进行,错误修复会择优移植到次要版本分支。目前没有固定的发布计划,更新将按需发布。
长期支持与升级建议
Patroni 目前没有提供 LTS 版本的计划,但欢迎有兴趣的个人或组织参与维护。现有集群通常不需要严格固定次要版本,升级一般较为简单。新集群大多可以安全使用最新版本,在需要支持最新 PostgreSQL 版本时可能必须使用最新版。
代码质量与术语调整
Patroni 源代码已加入类型注解,结合接近完整的测试覆盖率,体现了项目对代码质量的高标准。下一个主要版本计划将所有“master”一词替换为“primary”,以与 PostgreSQL 项目对二进制流复制集群中数据库实例角色的称呼保持一致。
跨数据中心高可用探索
CYBERTEC 正在积极开发和探索不同方法,以实现 Patroni 跨多个数据中心的复制和自动故障转移。用户通常希望尽可能长时间地停留在单一数据中心,但也不愿因手动切换而降低可用性。这一方向旨在平衡数据中心的稳定性和故障转移的自动化需求。
Q&A
Patroni 是什么?它有什么用途?
Patroni 是 PostgreSQL 高可用集群的主流解决方案之一,可用于简单和复杂架构、小型或大型数据库,并支持多种操作系统。
Patroni 项目目前由谁开发和维护?
Patroni 最初由在线零售商 Zalando 创建,现在由多家公司的工程师协作开发。
Patroni 的版本号是如何管理的?
Patroni 采用语义化版本。自 3.1.0 版本起,版本号最后一位用于 bugfix 发布,倒数第二位表示次要更新,最高位表示引入重大变化的主要升级。未来开发在 master 分支进行,bugfix 择优移植到次要发布分支(如 REL_3_1 或 REL_3_2)。
Patroni 有 LTS 长期支持版本的计划吗?
目前没有提供 LTS 版本的计划。Patroni 有可靠稳定的记录,但如果个人或组织有兴趣维护此类版本,欢迎参与。
Patroni 在代码质量方面做了哪些改进?
Patroni 在所有源代码中引入了类型注解,并且测试覆盖率接近完整,这强调了 Patroni 开发的质量标准。
Patroni 下一个大版本会有什么变化?
下一个大版本计划将所有出现的“master”一词替换为“primary”,以符合 PostgreSQL 项目对二进制流复制集群中数据库实例角色的称呼。
CYBERTEC 在 Patroni 项目中参与了哪些工作?
CYBERTEC 的代表参加了 Patroni 贡献者会议,并正在积极开发和探索跨多个数据中心实现 Patroni 复制和自动故障转移的不同方法。