RabbitMQ消息持久化

释放双眼,带上耳机,听听看~!

在某些特定场景中,队列中的数据十分重要,比如当客户需要确认支付时的验证码,这时候如果服务器突然出现了故障,那么队列中的消息必须存在,不能丢失.这种消息需要进行持久化处理.这也是RabbitMQ的一大特色,消息可靠性

消息持久化:在服务器出现故障后,消息依旧存在于队列之中.

一.queue的持久化

queue的持久化通过durable=true来实现,信道的第二个参数即durable


1
2
3
1channel.queueDeclare(QUEUE_NAME,true,false,true,null);
2
3

二.消息的持久化

消息的持久化通过basicProperties实现,将其设置MessageProperties.PERSISTENT_TEXT_PLAIN


1
2
3
1channel.basicPublish("",QUEUE_NAME, MessageProperties.PERSISTENT_TEXT_PLAIN,message.getBytes());
2
3

三.测试

首先进行队列信息的生产
RabbitMQ消息持久化
RabbitMQ消息持久化

进行RabbitMQ服务中断处理

RabbitMQ消息持久化

再次启动RabbitMQ服务
RabbitMQ消息持久化

再次查看队列消息
RabbitMQ消息持久化

依旧存在,RabbitMQ的持久化处理机制,大大增强了数据的可靠性,在很多特定场景下,是必不可少.

给TA打赏
共{{data.count}}人
人已打赏
安全网络

CDN安全市场到2022年价值76.3亿美元

2018-2-1 18:02:50

安全技术

在IDEA中使用JUnit进行方法测试

2022-1-11 12:36:11

个人中心
购物车
优惠劵
今日签到
有新私信 私信列表
搜索