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
*博客內容為網友個人發布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。