首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >具有Patroni和复制的高可用PostgreSQL

具有Patroni和复制的高可用PostgreSQL
EN

Database Administration用户
提问于 2020-09-01 10:34:59
回答 1查看 436关注 0票数 1

我想要构建一个高度可用的PostgreSQL集群,使用patroni和etcd。我希望在集群中有3个服务器(1个主服务器和2个从服务器),所以如果出了问题,其中一个从服务器会自动接管主角色。只有主服务器才能接受写操作,而从服务器只是为了安全和读取操作。

另一方面,我还需要大约10台服务器,并提供集群上数据的最新副本。这些服务器只用于读取数据,其中任何服务器都不能升级到主服务器。它们甚至不应该是高可用集群的一部分。他们应该使用流复制等方式获取数据。

这样的设置可能吗?当其他服务器是赞助人集群的一部分时,我可以使用复制到它们吗?

EN

回答 1

Database Administration用户

发布于 2021-04-22 19:37:21

只有主服务器才能接受写操作符。

这几乎在所有情况下都得到了赞助者的保证。本质上,你需要恶意来引发一个“分裂大脑”的场景,在这个场景中,不止一个数据库接受在赞助人集群中的写入。针对这种情况,有几个层次的安全措施内置在赞助人中。

另一方面,我还需要大约10台服务器,并提供集群上数据的最新副本。这些服务器只用于读取数据,其中任何服务器都不能升级到主服务器。

这是一种简单而快捷的方法:在每个节点的配置文件中,您可以启用一个特殊的“标记”,即nofailover: true,因此这些数据库实例在领导人选举期间永远不会被考虑,即使它们位于同一个赞助人集群中。这样做的好处是,乘客仍然负责所有的管理,通过创建复制槽,运行pg_basebackup,保持配置同步等等。

https://patroni.readthedocs.io/en/latest/SETTINGS.html?highlight=nofailover#tags

最后,如果你不想直接在你的赞助人集群中拥有这些副本,那么你总是可以独立地设置额外的流复制,除了赞助人配置的之外,尽管我认为这只会使生活更加困难……

票数 1
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/274756

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档