m6米乐安卓版下载-米乐app官网下载
3

postgresql高可用集群之pg-m6米乐安卓版下载

2020-12-05
1833

pg_auto_failover是postgresql的一个扩展,用于监控和管理postgres集群,自动触发故障转移。pg_auto_failover相比于patroni、repmgr、stolon和pgpool-ii配置更简单,运维更方便。下面介绍下pg_auto_failover几种常用的架构。

单备库架构

pg_auto_failover一个主库,一个备库的体系架构图:

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

为此,pg_auto_failover每个postgresql服务使用三个节点:

  • postgresql主节点;
  • postgresql第二节点,使用同步热备;
  • 一个既充当监控者又充当协调者的pg_auto_failover monitor节点。

pg_auto_failover监视器实现一个状态机,并依赖于postgresql内核来管理ha。例如:当检测到备用节点不可用时,或者报告其滞后的wal超过定义的阈值时(默认为1个wal文件或16mb,可在pg_auto_failover监视器上查看 pgautofailover.promote_wal_log_threshold guc),这是监视器会从主节点的synchronous_standby_names参数中移除备节点。在备节点恢复正常运行之前,不允许进行故障转移和切换操作,以防止数据丢失,当备节点已恢复或wal赶上到定义的阈值内时,同步热备将自动恢复。

两备库架构

pg_auto_failover一个主库,两个备库的体系架构图:

在如图所示的体系结构中,pg_auto_failover通过使用具有自动故障转移和数据冗余多个postgresql实例来实现单个postgresql服务,从而实现业务连续性和数据可用性。即使在生产系统中丢失任何postgres节点,该体系结构仍在两个不同的节点上维护数据的两个副本。

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

多备库架构之三备库节点

pg_auto_failover一个主库,三个备库的体系架构图:

通过设置上述三个参数,来构建生产环境不同的postgres架构。

上图架构下,系统设置有两个参与复制仲裁的备用节点(number_sync_standbys = 1)。系统始终至少维护两个数据集副本:一个在主数据库上,另一个在节点b或节点d上。每当丢失其中一个节点时,我们都可以保证该数据集的两个副本数据集。

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

此架构适合以下应用场景:节点a,b和d部署在同一数据中心或可用性区域中,而节点c部署在另一个数据中心或可用性区域中。设置这三个节点以支持主要的生产流量并实现postgres服务和数据集的高可用性。可能会在第一个数据中心丢失的情况下为业务连续性设置节点c,或者可能是为了在另一个应用程序域上部署。

最后修改时间:2021-06-24 20:35:40
「喜欢文章,快来给作者赞赏墨值吧」
【米乐app官网下载的版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论

关注
网站地图