【发布时间】:2016-04-25 08:33:07
【问题描述】:
我想创建一个对故障非常有弹性的 rabbitMQ 集群。
到目前为止,我已经成功地创建了一个包含三个节点的集群,每个节点都在一个 docker 容器中运行。为了使节点能够加入集群,主机需要通过链接相互了解。
现在,整个架构在云中运行(准确地说是在 AWS 上)。到目前为止,我的容器只能在同一个 AWS 实例上运行时才能相互链接。我想以节点可以位于不同主机上的方式创建集群。
到目前为止我已经尝试过:
改用联邦/铲子。这不符合我的目的,因为我需要 CAP 定理中的 CP 而不是 CA。我需要我的节点是彼此的所有副本,并且能够充当客户端的同一个代理。
创建一个 docker swarm。我能够设置 docker swarm 并通过 docker swarm 连接两个实例。但是,如果我尝试在这个 swarm 上运行多个 rabbit-containers,它们要么被放置在同一个节点上,要么我无法将它们相互链接。所以我最终得到了相同的星座,我的所有主机都在同一个节点上运行。
是否有任何解决方案或其他方法可以在不同 AWS 实例/主机之间的 docker 容器内创建 rabbitmMQ 集群?
【问题讨论】:
-
docker覆盖网络怎么样? docs.docker.com/engine/userguide/networking/dockernetworks/…
标签: amazon-web-services docker rabbitmq docker-swarm