RabbitMQ学习之集群消息可靠性测试
之前介绍过关于消息发送和接收的可靠性: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学习之集群消息可靠性测试相关推荐
- RabbitMQ学习之集群模式
由于RabbitMQ是用erlang开发的,RabbitMQ完全依赖Erlang的Cluster,因为erlang天生就是一门分布式语言,集群非常方便,但其本身并不支持负载均衡.Erlang的集群中各 ...
- RabbitMQ学习之集群镜像模式配置
1.增加负载均衡器 关于负载均衡器,商业的比如F5的BIG-IP,Radware的AppDirector,是硬件架构的产品,可以实现很高的处理能力.但这些产品昂贵的价格会让人止步,所以我们还有软件负载 ...
- (转)RabbitMQ学习之集群部署
http://blog.csdn.net/zhu_tianwei/article/details/40931971 我们先搭建一个普通集群模式,在这个模式基础上再配置镜像模式实现高可用,Rabbit集 ...
- RabbitMQ学习
RabbitMQ学习 1.概述 用于进程通信的中间件. 优势: 劣势: 1.应用解耦:提高了系统容错性和可维护性 1.系统依赖越多不能保证MQ的高可用 2.异步提速:提升用户体验和系统吞吐量 2.复杂 ...
- RabbitMQ高可用集群搭建
RabbitMQ高可用集群搭建 摘要:实际生产应用中都会采用消息队列的集群方案,如果选择RabbitMQ那么有必要了解下它的集群方案原理一般来说,如果只是为了学习RabbitMQ或者验证业务工程的正确 ...
- Rabbitmq学习笔记(尚硅谷2021)
Rabbitmq学习笔记 (尚硅谷) 1.MQ 的概念 1.1 什么是 MQ? 1.2 为什么要用 MQ? 削峰 解耦 异步 1.3 MQ 的分类 ActiveMQ Kafka RocketMQ Ra ...
- RabbitMQ学习笔记
目录 一.MQ 的相关概念 MQ是什么? MQ三大优势 MQ的劣势 MQ 的产品 RabbitMQ核心 JMS 安装 二.HelloWorld 三.Work Queues(轮训) 消息应答 Rabbi ...
- RabbitMQ学习笔记(一)
前言: 学习B站UP主狂神说视频笔记整理视频链接 什么是中间件 中间件( Middleware ) 是处于操作系统和应用程序之间的软件,也有人认为它应该属于操作系统中的一部分.人们在使用中间件时,往往 ...
- 从零开始搭建高可用RabbitMQ镜像模式集群
文章目录 RabbitMQ集群模式搭建 准备工作 选取任意一个节点作为master节点, 进行文件同步, 我这里选择138作为master节点 组成集群 配置镜像队列(设置镜像队列策略) 集群配置参数 ...
最新文章
- flink mysql connector_Flink JDBC Connector:Flink 与数据库集成最佳实践
- android umeng,GitHub - umeng/umeng_community_android: 友盟微社区Android SDK开源项目
- php显示发件人地址吗,php – 发件人地址被拒绝
- 享元模式-Flyweight(Java实现)
- Mongoose 中使用 populate 实现关联查询
- MATLAB警告: 矩阵为奇异工作精度
- 使用root安装nginx后使用非root运行方法
- 特例模式(Special Case Pattern)与空对象模式(Null Pointer Pattern)—— 返回特例对象而非 null
- Sql中的union和union all的讲解
- Android Gradle进阶配置指南
- JXSL报错CannotOpenWorkbookException和Cannot load XLS transformer解决方案
- SoapUI接口测试工具测试webservice
- 图像算法常用图片Lena
- Love for music
- 如何在手机上拍摄专业证件照片
- 重读《从菜鸟到测试架构师》-- 从专家到高手
- 1079 延迟的回文数 (20 分) java题解
- 一路编程,一路迷茫,一路醒悟,接着迷茫,再醒悟再迷茫
- html读秒倒计时,读秒倒计时
- STM32驱动直流电机(一)驱动电路的介绍
热门文章
- 用react和electron实现文件树组件(上)
- Python之线程(一)
- spark基础之shuffle机制和原理分析
- Hive之管理表 外部表 分区表
- (138)FPGA面试题-Verilog HDL中function和task的区别(二)
- (43)FPGA面试题JTAG接口信号及功能
- System verilog利用class类打印信息
- navmenu 收起没有动画 element_ABC360等3家英语动画片课程测评:用动画片学英语不靠谱?...
- 1017.UML类图笔记
- session失效_Session的销毁方式到底有哪些?