RabbitMQ 集群部署(二)——普通集群模式部署
本文分享自天翼云开发者社区《RabbitMQ集群部署(二)——普通集群模式部署》,作者:芋泥麻薯
RabbitMQ 普通集群模式即在多个服务器上部署多个 MQ 实例, 每台机器一个实例. 创建的每一个 queue,只会存在一个 MQ 实例上. 但是每一个实例都会同步 queue 的元数据(即 queue 的标识信息). 当在进行消费的时候, 就算对应的数据在其他的 MQ 实例上, 其也会根据内部的 queue 的元数据,从该 queue 所在实例上拉取数据过来.这种方式只是一个简单的集群,并没有考虑高可用。由于需要不断去其他实例拉取数据,所以性能开销巨大.容易造成单实例的性能瓶颈. 并且如果真正有数据的那个 queue 的实例宕机了. 那么其他的实例就无法进行数据的拉取.这种方式只是通过集群部署的方式提高了消息的吞吐量,但是并没有考虑到高可用.
部署流程:
1、首先在第二和第三节点完成 rabbitmq 的安装
yum -y install erlang
yum -y install rabbitmq-server
2、将主节点的 cookie,拷贝到从节点中,并修改对应的权限
scp /var/lib/rabbitmq/.erlang.cookie root@192.168.64.128:/var/lib/rabbitmq/.erlang.cookie
scp /var/lib/rabbitmq/.erlang.cookie root@192.168.64.131:/var/lib/rabbitmq/.erlang.cookie
chown -R rabbitmq:rabbitmq /var/lib/rabbitmq/.erlang.cookie
chmod 400 /var/lib/rabbitmq/.erlang.cookie
3、启动 rabbitmq 服务,并关闭非主节点对应 app
service rabbitmq-server start
rabbitmqctl stop_app
4、将非主节点加入到主节点的集群,bogon1 对主节点的 hostname
rabbitmqctl join_cluster --ram rabbit@bogon1
5、加入集群以后则,启动对应 app 即可,到此,普通集群模式部署完成。
rabbitmqctl start_app
评论