一、准备工作
三台机器hosts: 192.168.3.18 L-AP-3-18 #主节点
192.168.3.10 L-AP-3-10 #从节点
192.168.3.9 L-AP-3-9 #从节点
关闭防火墙: service iptables stop
按照 [url="http://zhenggm.iteye.com/blog/2413539"]rabbitMQ学习笔记【一】-单机部署 原创[/url] 部署三个单机节点
二、集群配置
1)关闭从节点服务。
2)拷贝主节点 /root/.erlang.cookie 到从节点
在主节点上 vi /root/.erlang.cookie, 并拷贝其中内容
在从节点上
chmod 777 /root/.erlang.cookie
vi /root/.erlang.cookie
粘贴拷贝的内容并保存
chmod 400 /root/.erlang.cookie
3)在从节点上
./rabbitmq-server -detached
./rabbitmqctl stop_app
./rabbitmqctl join_cluster rabbit@L-AP-3-18
./rabbitmqctl start_app
三、集群管理
1)查看集群状态
./rabbitmqctl cluster_status
[img]http://dl2.iteye.com/upload/attachment/0129/4310/a95cb21c-dcf4-36df-b2c1-6391afea5943.png[/img]
四、镜像模式
以上已完成普通模式的集群配置,但是数据还是存储在一个broker中,没有实现高可用。镜像模式可以解决这个问题。
1)命令方式配置
rabbitmqctl set_policy -p ZSGH mypolicy "^test" '{"ha-mode":"all"}'
参数说明:
ZSGH vhost名称
mypolicy 策略名称
^test 应用于名称为test开头的队列
"ha-mode":"all" 镜像模式:集群内节点全复制
2)管理控制台配置
[img]http://dl2.iteye.com/upload/attachment/0129/4383/1184b7a7-e9b6-3c83-9b80-af67c1dc3190.png[/img]
查看镜像队列
[img]http://dl2.iteye.com/upload/attachment/0129/4387/2526d4ac-da99-3cb7-8159-5ce4d8eb19f7.png[/img]
五、关于rabbitMQ部署的思考
1. 单机模式 简单, 适用于练习或者小项目场景。
2. 普通集群模式 高吞吐量,相当于通过分库分表分摊压力,但是对于数据还是存储在单机上,非高可用。 适用于高并发,大数据量场景。
3. 镜像模式 高可用,但是数据冗余,并且通过节点间复制方式实现,性能低,成本高。 适用于高可靠场景。
集群模式往往搭配haproxy+keepalived或者F5实现负载均衡。
三台机器hosts: 192.168.3.18 L-AP-3-18 #主节点
192.168.3.10 L-AP-3-10 #从节点
192.168.3.9 L-AP-3-9 #从节点
关闭防火墙: service iptables stop
按照 [url="http://zhenggm.iteye.com/blog/2413539"]rabbitMQ学习笔记【一】-单机部署 原创[/url] 部署三个单机节点
二、集群配置
1)关闭从节点服务。
./rabbitmqctl stop
2)拷贝主节点 /root/.erlang.cookie 到从节点
在主节点上 vi /root/.erlang.cookie, 并拷贝其中内容
在从节点上
chmod 777 /root/.erlang.cookie
vi /root/.erlang.cookie
粘贴拷贝的内容并保存
chmod 400 /root/.erlang.cookie
3)在从节点上
./rabbitmq-server -detached
./rabbitmqctl stop_app
./rabbitmqctl join_cluster rabbit@L-AP-3-18
./rabbitmqctl start_app
三、集群管理
1)查看集群状态
./rabbitmqctl cluster_status
[img]http://dl2.iteye.com/upload/attachment/0129/4310/a95cb21c-dcf4-36df-b2c1-6391afea5943.png[/img]
四、镜像模式
以上已完成普通模式的集群配置,但是数据还是存储在一个broker中,没有实现高可用。镜像模式可以解决这个问题。
1)命令方式配置
rabbitmqctl set_policy -p ZSGH mypolicy "^test" '{"ha-mode":"all"}'
参数说明:
ZSGH vhost名称
mypolicy 策略名称
^test 应用于名称为test开头的队列
"ha-mode":"all" 镜像模式:集群内节点全复制
2)管理控制台配置
[img]http://dl2.iteye.com/upload/attachment/0129/4383/1184b7a7-e9b6-3c83-9b80-af67c1dc3190.png[/img]
查看镜像队列
[img]http://dl2.iteye.com/upload/attachment/0129/4387/2526d4ac-da99-3cb7-8159-5ce4d8eb19f7.png[/img]
五、关于rabbitMQ部署的思考
1. 单机模式 简单, 适用于练习或者小项目场景。
2. 普通集群模式 高吞吐量,相当于通过分库分表分摊压力,但是对于数据还是存储在单机上,非高可用。 适用于高并发,大数据量场景。
3. 镜像模式 高可用,但是数据冗余,并且通过节点间复制方式实现,性能低,成本高。 适用于高可靠场景。
集群模式往往搭配haproxy+keepalived或者F5实现负载均衡。