暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

pg_auto_failover简介

原创 sg1234 2023-07-09
110

pg_auto_failover简介

pg_auto_failover是PostgreSQL的扩展,用于监视和管理 Postgres 群集的故障转移。它针对简单性和 正确性。

单待机架构

arch-single-standby

具有主节点和备用节点的pg_auto_failover架构

pg_auto_failover为您的PostgreSQL实现了业务连续性 服务业。pg_auto_failover 使用 具有自动故障转移功能的多个节点,并自动执行PostgreSQL维护 以保证服务对用户可用性的方式进行操作 和应用程序。

为此,pg_auto_failover每个PostgreSQL使用三个节点(机器,服务器)。 服务:

  • 一个PostgreSQL主节点,
  • 一个 PostgreSQL 辅助节点,使用同步热备用,
  • 一个同时充当见证者和业务流程协调程序的pg_auto_failover监视器节点。

pg_auto_failover监视器实现状态机并依赖于 核心 PostgreSQL 工具,用于提供 HA。例如。当检测到辅助节点不可用或报告其滞后时 超过定义的阈值(默认值为 1 个 WAL 文件或 16MB,请参阅pg_auto_failover上的pgautofailover.promote_wal_log_threshold GUC 监视器),然后监视器会将其从节点上的synchronous_standby_names设置中删除。直到次级恢复 监视正常,不允许故障转移和切换操作, 防止数据丢失。

多待机架构

arch-multi-standby

具有一个主节点和两个备用节点的pg_auto_failover体系结构

在图中的体系结构中,pg_auto_failover实现了业务连续性 以及通过使用实现单个 PostgreSQL 服务来实现数据可用性 具有自动故障转移和数据冗余功能。即使失去了任何 生产系统中的Postgres节点,此体系结构维护两个副本 两个不同节点上的数据。

使用多个备用数据库时,可以实现不同的体系结构 使用pg_auto_failover,具体取决于所需的目标和权衡 您的生产设置。

具有 3 个备用节点的多备用架构,一个异步节点

arch-three-standby-one-async

具有一个主节点和三个备用节点的pg_auto_failover架构

在设置上述三个参数时,可以设计得非常 不同的 Postgres 架构可满足您的生产需求。

在这种情况下,系统设置了两个参与的备用节点 复制仲裁,允许 .这 系统始终维护数据集的至少两个副本:一个在 主节点,节点 B 或节点 C 上的另一个。 在这些节点中,我们可以保证数据集的两个副本。number_sync_standbys = 1

除此之外,我们有备用服务器 D,它已被设置为不 参与复制仲裁。节点 D 不会在节点列表中找到。此外,节点 D 的设置方式为 永远不要成为故障转移的候选项,使用 。synchronous_standby_names``candidate-priority = 0

此体系结构适用于部署节点 A、B 和 C 的情况 位于同一数据中心或可用区中,节点 D 位于另一个数据中心或可用区中。那些 设置三个节点以支持主要生产流量并实施 Postgres服务和数据集的高可用性。

节点 D 可能设置为业务连续性,以防第一个数据中心 丢失,或者可能用于报告需要在另一个上部署 应用程序域。

城市建筑

arch-citus

pg_auto_failover建筑与城市形成

pg_auto_failover为您的 Citus 服务实施业务连续性。 pg_auto_failover使用多个实现单个 Citus 形成服务 具有自动故障转移功能的 Citus 节点,并自动执行 PostgreSQL 维护 以保证服务对用户可用性的方式进行操作 和应用程序。

在这种情况下,pg_auto_failover知道如何协调 Citus 协调员 故障转移和 Citus 辅助角色故障转移。Citus 工作线程故障转移可以是 以非常短的停机时间实现应用程序,在 短时间窗口 SQL 写入可能会出错。

「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论