rabbitmq mysql持久化_RabbitMQ消息持久化

一、前言

如果我们希望即使在RabbitMQ服务重启的情况下,也不会丢失消息,我们可以将Queue与Message都设置为可持久化的(durable),这样可以保证绝大部分情况下我们的RabbitMQ消息不会丢失。当然还是会有一些小概率事件会导致消息丢失。

二、队列持久化

2.1 查看存在的队列和消息数量

在windows环境下,在rabbitmq的安装目录/sbin下,通过rabbitmqctl.bat list_queues查看

ac48b24fbccd7568c99a3a381cdc402f.png

这边启动了两个producer,分别生成两个队列hello 和 hello1,并且他们都有一个消息存在

重启rabbitmq,模拟故障

a6b41c46149028d0a749d9fadd08ebc3.png

可以看到重启后两个队列都消失了

2.2 持久化队列

我们就hello队列持久化

在声明队列名称时,持久化队列,生产端和消费端都要

channel.queue_declare(queue='hello', durable=True)

我们重复上面的操作,但是给hello队列做持久化,而hello1不做,并重启rabbitm

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值