RabbitMQ:集群模式下的ha模式的测试

1.声明

当前内容用于本人学习和复习之用,当前内容用于测试当前的rabbitmq的ha模式

最近不知道怎么回事,进不了rabbitmq官方网站了,学习困扰

2.开始创建ha模式策略

ha模式是一种策略模式通过policy方式创建(这里使用ui方式创建)

在这里插入图片描述
在当前的node3设置policy(用于正则匹配node2中的node2Queue队列)

在这里插入图片描述
查看结果
在这里插入图片描述
在这里插入图片描述
此时发现集群中都具有该策略,也说明了在集群模式下的policy是可以公用的

查看队列
在这里插入图片描述
在这里插入图片描述
发现当前的node2Queue出现了两个mirror分别指向两个集群节点

3.测试ha模式(node2不宕机)

这里使用前面的消费者和生产者
开始启动多个消息生产者
在这里插入图片描述
启动消费者(消费node2Queue)
在这里插入图片描述
发现一共就只有30条信息,是可以正常消费的

4.测试ha模式(node2宕机)

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
此时发现当前的node2Queue的states不是down,并且mirror为+1

此时开动消息生产者(三个分别向node1、node2、node3发送数据)并查看结果

node1的发送情况

在这里插入图片描述
node2的发送情况
在这里插入图片描述

node3的发送情况
在这里插入图片描述
发现此时只有node2不能发送消息,node1、node2还是可以发送消息的,继续查看ui界面
在这里插入图片描述
发现此时只有node2数据是没有的,但是node1、node2节点是有数据的

启动消费者(向node2拉取数据)
在这里插入图片描述
连接不上node2,并且无法消费数据

启动消费者(向node1拉取数据)
在这里插入图片描述
发现此时可以向node1或者node2中拉取数据,并且获取到了20条数据

5.分析ha模式

1.ha模式中,集群不存在宕机,那么该模式中所有消息都是可用的,并且具有mirror为其他的节点

2.ha模式中,集群宕机,那么向宕机节点连接直接报错,向其他没有宕机的节点却可以写入和读取数据,数据在复制queue中的消息,保证了宕机模式该队列的有效性,避免了非ha模式中的队列失效

使用图解释:
在这里插入图片描述
宕机后
在这里插入图片描述

6.总结

1.ha模式可以有效的保证非宕机队列的有效性,但是不能保证宕机节点的有效性

2.ha模式通过复制队列方式来实现消息的复制

3.ha模式可以让消费者在任何情况下访问非宕机节点的集群队列

以上纯属个人见解,如有问题请联系本人!

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值