20160906 镜像环境下关闭主队列节点

目的

本实验检验在设置好队列镜像的情况下,非正常关闭保存有主队列的节点和镜像队列的节点后,队列是否可以继续正常工作。

环境

3 台服务器(IP: 64,65,66)配置集群。

  • 在 64 上配置队列。
  • 在 65 上配置镜像队列。
  • 生产端连接 65,消费端连接 66.

过程

1. 查看集群环境,确保集群正常启动

rabbitmqctl cluster_status

 Cluster status of node 'rabbit@TK-RABBITMQ1' ...
[{nodes,[{disc,['rabbit@TK-RABBITMQ1','rabbit@TK-RABBITMQ2',
                'rabbit@TK-RABBITMQ3']}]},
 {running_nodes,['rabbit@TK-RABBITMQ2','rabbit@TK-RABBITMQ3',
                 'rabbit@TK-RABBITMQ1']},
 {cluster_name,<<"rabbit@TK-RABBITMQ1">>},
 {partitions,[]},
 {alarms,[{'rabbit@TK-RABBITMQ2',[]},
          {'rabbit@TK-RABBITMQ3',[]},
          {'rabbit@TK-RABBITMQ1',[]}]}]

2. 在 TK-RABBITMQ2 节点上建立镜像

rabbitmqctl set_policy test_policy "^test\."  '{"ha-mode":"nodes","ha-params":["rabbit@TK-RABBITMQ2"]}'

Setting policy "test_policy" for pattern "^test\\." to "{\"ha-mode\":\"test\",\"ha-params\":[\"rabbit@TK-RABBITMQ2\"]}" with priority "0" ...
  1. 启动生产端及消费端程序,生产端程序每秒产生一个消息。
  2. 在主队列节点的机器上 kill 掉 64服务器进程。
  3. 观察队列和程序情况。

    通过查看队列没有问题,而程序依然还在进行,发送端和接收端都在正常运行。

  4. kill 掉65服务器进程
  5. 观察队列和程序情况
    此时发现接收端立刻有异常产生,发送端也出现异常,消息不能正常接收和发送了,而此时66服务器还在正常运行。

结论

  • 当主队列所在的服务器宕机,镜像节点依然运行时,消息依然可以正常发送和接收
  • 当主队列和镜像队列所在的服务器都宕机时,消息不能正常发送和接收

更多实验可点击:Rabbitmq 实验

转载于:https://my.oschina.net/u/3568300/blog/3005561

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值