重现RabbitMQ网络分区方案

use*_*345 7 rabbitmq rabbitmqctl

我想重现网络分区情况下与所有的三种模式- ignore,autohealpause_minority.我怎样才能做到这一点?我尝试停止(/ sbin/service reboot)群集中的一个节点,但这不会导致任何网络分区.我还尝试在一个节点上删除mnesia以在群集中创建不一致的mnesia,但这也没有帮助.

Gab*_*ele 5

为了模拟网络分区,您可以使用以下方法阻止传出连接 iptables

假设您有 3 个节点:

node1 - ip : 10.10.0.1
node2 - ip : 10.10.0.2
node3 - ip : 10.10.0.3
Run Code Online (Sandbox Code Playgroud)

创建集群后,以节点2为例,

iptables -A OUTPUT -d 10.10.0.1 -j DROP
Run Code Online (Sandbox Code Playgroud)

通过这种方式,您阻止了连接,节点将进入网络分区。

然后

iptables -F
Run Code Online (Sandbox Code Playgroud)

以恢复网络。