我想创建一个RabbitMQ集群,它非常能够抵御故障。
到目前为止,我已经成功创建了一个由三个节点组成的集群,每个节点都在Docker容器中运行。为了让这些节点加入集群,主机需要通过链接相互了解。
现在,整个架构都在云中运行(确切地说是在AWS上)。迄今为止,我的容器只能与同一AWS实例上的其他容器建立连接。我希望创建的集群可以跨越不同的主机。
到目前为止,我尝试过:
1. 使用联邦 / 推土机。这不符合我的目的,因为我需要CAP-Theorem中的CP而不是CA。我需要我的节点都是彼此的副本,并且能够像客户端一样充当同一代理人。
2. 创建一个Docker Swarm。我可以设置Docker Swarm并通过Docker Swarm连接两个实例。但是,如果我尝试在此Swarm上运行多个Rabbit容器,则它们要么被放置在同一节点上,要么无法相互链接。因此,最终所有的节点仍然运行在同一节点上。
是否有任何解决方案或其他方法,可以让我在不同的AWS实例/主机之间创建一个RabbitMQ集群?
到目前为止,我已经成功创建了一个由三个节点组成的集群,每个节点都在Docker容器中运行。为了让这些节点加入集群,主机需要通过链接相互了解。
现在,整个架构都在云中运行(确切地说是在AWS上)。迄今为止,我的容器只能与同一AWS实例上的其他容器建立连接。我希望创建的集群可以跨越不同的主机。
到目前为止,我尝试过:
1. 使用联邦 / 推土机。这不符合我的目的,因为我需要CAP-Theorem中的CP而不是CA。我需要我的节点都是彼此的副本,并且能够像客户端一样充当同一代理人。
2. 创建一个Docker Swarm。我可以设置Docker Swarm并通过Docker Swarm连接两个实例。但是,如果我尝试在此Swarm上运行多个Rabbit容器,则它们要么被放置在同一节点上,要么无法相互链接。因此,最终所有的节点仍然运行在同一节点上。
是否有任何解决方案或其他方法,可以让我在不同的AWS实例/主机之间创建一个RabbitMQ集群?