Docker Swarm如何处理数据库(PostgreSQL)复制?

pfe*_*dom 11 database postgresql docker docker-swarm

我正在学习Docker Swarm模式,我设法在本地创建一个带有Web应用程序和PostgreSQL数据库的Swarm.我可以扩展它们,我看到Swarm创建了副本.

我想我理解Docker Swarm 如何对常规Web服务器进行负载均衡,但它如何与数据库容器一起开箱即用?

在Swarm上下文之外,通常数据库有自己的方式来处理复制,以插件或MySQL集群等扩展产品的形式.像Cassandra这样的其他数据库已经直接在他们的产品中构建了复制.在Swarm上下文中,我们是否还需要依赖这些数据库插件和功能?

处理数据库容器副本之间数据一致性的预期模式是什么?

我知道这是一个非常开放的问题,但Docker的文档也是非常开放的,我似乎无法找到任何具体的内容.

R0M*_*RMY 11

它如何与数据库容器一起开箱即用?

它没有.

这里有一个很好的Swarm服务描述:服务如何工作 (强调我的)

当您将服务部署到swarm时,swarm管理器会将您的服务定义接受为服务的所需状态.然后,它将群中节点上的服务调度为一个或多个副本任务.

Swarm不知道任务内部是什么,它只知道它有多少个实例,这些实例是否正在通过它们的健康检查,以及是否有足够的它们来满足您给出的任务定义.这个和数据库副本之间的重叠这个词有点不幸,但它们是不同的概念.

处理数据库容器副本之间数据一致性的预期模式是什么?

您正在设置数据复制.这些可能是一个好的起点