容器化的 PostgreSQL,数据位于分布式文件系统上

容器化的 PostgreSQL,数据位于分布式文件系统上

我很好奇是否有人实际上在生产中的容器中在某种形式的分布式文件系统上运行 PostgreSQL - 最好是 GlusterFS,或者其他什么。

我目前正在运行 Mesos/Marathon。如果 PostgreSQL 节点发生故障,Marathon 只需在其他节点上启动另一个 PostgreSQL 实例,如果操作正确(服务发现和应用程序从数据库连接丢失中恢复),将实现最终的容错能力。

我知道 PostgreSQL 有自己的 HA 解决方案,例如日志传送和热备用备份,但仍然需要解决何时从主服务器切换到从服务器、如何正确执行切换等问题。

那么,如何在 GlusterFS 或类似系统上运行 PostgreSQL?如果是这样,它稳定吗?性能如何?

答案1

但仍然需要解决何时从主服务器切换到从服务器、如何正确执行切换等等问题。

每个集群通常都有仲裁的概念:观察者(监视器,等等)将决定哪个节点是主节点。然后,您可以使用它们的信息来正确路由请求。使用基本的 TCP/IP 来运行 haproxy 是很常见的健康检查但是一些高级逻辑是通过服务特定的查询实现的。

查看和平缔造者,例如

答案2

您需要在有状态服务模式下运行 postgresql。扩展由 mesos 完成,但数据复制由 postgresql 本身完成。请查看此网站有状态服务持久卷

相关内容