PostgreSQL高可用实战
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人

1.2.2 高可用技术概览

1.repmgr

repmgr是一个开源工具套件,用于管理PostgreSQL服务器集群中的复制和故障转移。它用来增强 PostgreSQL 的内置热备份功能,以设置备用服务器、监控复制及执行管理任务,例如故障转移或手动切换操作。

repmgr是2010年由2ndQuadrant公司推出的PostgreSQL故障切换工具。

repmgr帮助系统管理员管理PostgreSQL数据库集群。

2.Patroni

Patroni是一个定制化高可用解决方案,其配置信息存储在ZooKeeper、etcd或Consul等中。它为数据库管理员提供开箱即用的快速部署高可用PostgreSQL方案。

3.多主复制

多主复制意味着有多个节点充当主节点。数据在节点之间复制,插入和更新可以在一组主节点上执行。数据有多个副本,系统负责解决多主并发之间发生的任何冲突。

使用多主复制主要有两个原因:一是高可用性,二是性能。在大多数情况下,有些节点专用于密集的写操作,而有些节点专用于读操作或故障转移。

PostgreSQL内置了单主复制功能,但遗憾的是,在PostgreSQL主分支中并没有多主复制功能。

目前 PostgreSQL 有一些多主复制解决方案可用,其中一些由应用程序端实现,而另外一些由基于 PostgreSQL 的分支版本实现,其主要由一家商业公司管理,但并非由PostgreSQL主线社区管理。

常用的 PostgreSQL 多主复制解决方案如下:BDR (Bi-Directional Replication)、PostgreSQL-XL、PostgreSQL-XC、Rubyrep和Bucardo。