当前位置: 首页 > news >正文

RabbitMQ 消息持久化/镜像队列/lazy对时延影响

测试背景

不同条件下RabbitMQ不同队列类型的生产时延测试:

测试环境

机型:rabbimtq.2u4g.cluster 背景流量:1000 TPS

测试条件

消息大小 4k,消息条数为1000条,时延取值为平均时延

测试结果

测试场景生产时延一生产时延二生产时延三
普通队列333
普通队列+持久化333
普通队列+开启生产确认474747
普通队列+开启事务505151
惰性队列223
惰性队列+持久化333
惰性队列+生产确认505151
惰性队列+开启事务545555
镜像队列(2副本)233
镜像队列+生产确认484848

测试结论:

如上测试场景,开启消息持久化/开启镜像队列/配置惰性队列 并不会对消息生产时延造成较大影响,对生产时延造成较大影响的主要因素为开启生产确认或使用事务机制。

消息的deliveryMode /Queue的durable状态truefalse
1:不持久化不持久化不持久化
2:持久化持久化不持久化

想要宕机时保证消息不丢失,则队列及消息都需要开启持久化

代码示例:

Connection connection = connectionFactory.newConnection();
Channel channel = connection.createChannel();
// 持久化exchange
channel.exchangeDeclare("test", "fanout", true);
// 持久化队列
channel.queueDeclare("queue", true, false, false, new HashMap<>());
channel.basicPublish("test", "test", MessageProperties.PERSISTENT_TEXT_PLAIN, sb.toString().getBytes());
http://www.lryc.cn/news/504897.html

相关文章:

  • 【深度学习】深刻理解Swin Transformer
  • [2015~2024]SmartMediaKit音视频直播技术演进之路
  • redis 使用Lettuce 当redis挂掉重启之后 网络是怎么重新连接
  • 【IntelliJ IDEA 集成工具】TalkX - AI编程助手
  • 二叉搜索树Ⅲ【东北大学oj数据结构8-3】C++
  • 【面试笔记】CPU 缓存机制
  • MySQL基础函数使用
  • 解决docker环境下aspose-words转换word成pdf后乱码问题
  • C# 生成随机数的方法
  • ip_done
  • 3D可视化引擎HOOPS Visualize与HOOPS Luminate Bridge的功能与应用
  • Docder 搭建Redis分片集群 散片插槽 数据分片 故障转移 Java连接
  • 校园交友app/校园资源共享小程序/校园圈子集合二手物品交易论坛、交友等综合型生活服务社交论坛
  • Chaos Mesh云原生的混沌测试平台搭建
  • Vue3之组合式API详解
  • 大模型的构建与部署(3)——数据标注
  • AI发展与LabVIEW程序员就业
  • 本地事务 + 消息队列事务方案设计
  • pinctrl子系统学习笔记
  • 使用vue-element 的计数器inputNumber,传第三个参数
  • 如何从0构建一个flask项目,直接上实操!!!
  • Mongoose连接数据库操作实践
  • centos 7.9 freeswitch1.10.9环境搭建
  • Gitlab服务管理和仓库项目权限管理
  • LLMs之Llama-3:Llama-3.3的简介、安装和使用方法、案例应用之详细攻略
  • OpenCV函数及其应用
  • vulnhub靶场【DriftingBlues】之3
  • 文件上传—阿里云OSS对象存储
  • mybatis-plus超详细讲解
  • 【Linux】--- 进程的概念