之前介绍过关于消息发送和接收的可靠性:RabbitMQ学习之消息可靠性及特性 
下面主要介绍一下集群环境下,rabbitmq实例宕机的情况下,消息的可靠性。验证rabbitmq版本【3.4.1】。 
集群环境要求: 
1.集群中至少有一台硬盘节点 
2.加入集群中有一台内存节点,一台硬盘节点,需要先启动硬盘节点。单节点不能设置为内存节点 
集群环境:

节点名称 节点类型
vm-129 硬盘
vm-130 内存

 
验证结论: 
1.vm-129、vm-130节点都可以创建持久化队列及发送持久化消息 
2.当vm-130宕机 
1)vm-130的内存队列丢失,持久化队列不可读、不可写 
2)vm-129原有队列可读写,可以创建持久化队列及发送持久化消息,并能读写 
3)vm-130重启,持久化消息存在,并能正常读写 
3.当vm-129宕机 
1)vm-129的内存队列丢失,持久化队列不可读、不可写 
2)vm-130原有队列可读写,可以创建持久化队列及发送持久化消息,并能读写 
3)vm-129重启,持久化消息存在,并能正常读写 
3.当vm-130先宕机 
1)在vm-129内写持久化队列和消息Q1 
2)vm-130重启后,再把vm-129宕机,再将vm-129重启 
3)Q1消息仍然存在,并能正确消费 
4.当vm-130先宕机 
1)在A内写持久化队列和消息Q2 
2)再把vm-129宕机,再将vm-129、vm-130集群重启 
3)Q2消息丢失 
内存节点数据目录: 
 
硬盘节点数据目录: 

参考文档 
1.rabbitMQ源码分析 – 持久化机制 
2.RabbitMQ概念及环境搭建(四)RabbitMQ High Availability

转载于:https://www.cnblogs.com/telwanggs/p/7124873.html

RabbitMQ学习之集群消息可靠性测试相关推荐

  1. RabbitMQ学习之集群模式

    由于RabbitMQ是用erlang开发的,RabbitMQ完全依赖Erlang的Cluster,因为erlang天生就是一门分布式语言,集群非常方便,但其本身并不支持负载均衡.Erlang的集群中各 ...

  2. RabbitMQ学习之集群镜像模式配置

    1.增加负载均衡器 关于负载均衡器,商业的比如F5的BIG-IP,Radware的AppDirector,是硬件架构的产品,可以实现很高的处理能力.但这些产品昂贵的价格会让人止步,所以我们还有软件负载 ...

  3. (转)RabbitMQ学习之集群部署

    http://blog.csdn.net/zhu_tianwei/article/details/40931971 我们先搭建一个普通集群模式,在这个模式基础上再配置镜像模式实现高可用,Rabbit集 ...

  4. RabbitMQ学习

    RabbitMQ学习 1.概述 用于进程通信的中间件. 优势: 劣势: 1.应用解耦:提高了系统容错性和可维护性 1.系统依赖越多不能保证MQ的高可用 2.异步提速:提升用户体验和系统吞吐量 2.复杂 ...

  5. RabbitMQ高可用集群搭建

    RabbitMQ高可用集群搭建 摘要:实际生产应用中都会采用消息队列的集群方案,如果选择RabbitMQ那么有必要了解下它的集群方案原理一般来说,如果只是为了学习RabbitMQ或者验证业务工程的正确 ...

  6. Rabbitmq学习笔记(尚硅谷2021)

    Rabbitmq学习笔记 (尚硅谷) 1.MQ 的概念 1.1 什么是 MQ? 1.2 为什么要用 MQ? 削峰 解耦 异步 1.3 MQ 的分类 ActiveMQ Kafka RocketMQ Ra ...

  7. RabbitMQ学习笔记

    目录 一.MQ 的相关概念 MQ是什么? MQ三大优势 MQ的劣势 MQ 的产品 RabbitMQ核心 JMS 安装 二.HelloWorld 三.Work Queues(轮训) 消息应答 Rabbi ...

  8. RabbitMQ学习笔记(一)

    前言: 学习B站UP主狂神说视频笔记整理视频链接 什么是中间件 中间件( Middleware ) 是处于操作系统和应用程序之间的软件,也有人认为它应该属于操作系统中的一部分.人们在使用中间件时,往往 ...

  9. 从零开始搭建高可用RabbitMQ镜像模式集群

    文章目录 RabbitMQ集群模式搭建 准备工作 选取任意一个节点作为master节点, 进行文件同步, 我这里选择138作为master节点 组成集群 配置镜像队列(设置镜像队列策略) 集群配置参数 ...

最新文章

  1. flink mysql connector_Flink JDBC Connector:Flink 与数据库集成最佳实践
  2. android umeng,GitHub - umeng/umeng_community_android: 友盟微社区Android SDK开源项目
  3. php显示发件人地址吗,php – 发件人地址被拒绝
  4. 享元模式-Flyweight(Java实现)
  5. Mongoose 中使用 populate 实现关联查询
  6. MATLAB警告: 矩阵为奇异工作精度
  7. 使用root安装nginx后使用非root运行方法
  8. 特例模式(Special Case Pattern)与空对象模式(Null Pointer Pattern)—— 返回特例对象而非 null
  9. Sql中的union和union all的讲解
  10. Android Gradle进阶配置指南
  11. JXSL报错CannotOpenWorkbookException和Cannot load XLS transformer解决方案
  12. SoapUI接口测试工具测试webservice
  13. 图像算法常用图片Lena
  14. Love for music
  15. 如何在手机上拍摄专业证件照片
  16. 重读《从菜鸟到测试架构师》-- 从专家到高手
  17. 1079 延迟的回文数 (20 分) java题解
  18. 一路编程,一路迷茫,一路醒悟,接着迷茫,再醒悟再迷茫
  19. html读秒倒计时,读秒倒计时
  20. STM32驱动直流电机(一)驱动电路的介绍

热门文章

  1. 用react和electron实现文件树组件(上)
  2. Python之线程(一)
  3. spark基础之shuffle机制和原理分析
  4. Hive之管理表 外部表 分区表
  5. (138)FPGA面试题-Verilog HDL中function和task的区别(二)
  6. (43)FPGA面试题JTAG接口信号及功能
  7. System verilog利用class类打印信息
  8. navmenu 收起没有动画 element_ABC360等3家英语动画片课程测评:用动画片学英语不靠谱?...
  9. 1017.UML类图笔记
  10. session失效_Session的销毁方式到底有哪些?