RabbitMQ 集群

集群部署

我们准备三台服务器配置集群,其中两台RabbitMQ为内存(RAM)节点,单台为磁盘节点。

集群节点配置 DNS 记录或 hosts。

TODO

启动集群节点

1
2
3
rabbit1$ rabbitmq-server -detached
rabbit2$ rabbitmq-server -detached
rabbit3$ rabbitmq-server -detached

创建集群

1
2
3
rabbit2$ rabbitmqctl stop_app
rabbit2$ rabbitmqctl join_cluster --ram rabbit@rabbit1
rabbit2$ rabbitmqctl start_app

rabbit3 同上,也可以加入rabbit2

分离集群

1
2
3
4
rabbit3$ rabbitmqctl stop_app
rabbit3$ rabbitmqctl reset
rabbit1$ rabbitmqctl forget_cluster_node rabbit@rabbit3

集群备注

rabbitmqctl cluster_status 查看集群状态

rabbitmqctl stoprabbitmqctl stop_app 的区别是后者只停止应用,前者还会停止节点。

rabbitmqctl change_cluster_node_type ram|disc 可以更改节点类型(需要先停止应用)。

高可用

TODO