RabbitMQ 交换机、队列、消息持久化
2019-05-02 16:53
88 查看
- 交换器持久化
Durable:是否持久化参数设为True即可 channel.exchangeDeclare(exchangeName, type, true); - 队列持久化 channel.queueDeclare("A",true,false,false,null).getQueue();
- 消息持久化
在之前,消息分发给consumer后立即就会被标记为已消费,这时候如果consumber接到了一个消息但是还没有来的及处理就异常退出,那么这个消息的状态是已被消费的,于是就会造成消息丢失的问题。
channel.basic_publish('', 'hello', 'hello', properties=pika.BasicProperties( delivery_mode=2, # make message persistent )) #增加properties,这个properties 就是消费端 callback函数中的properties #delivery_mode = 2 持久化消息
个人总结:
一般持久化需要交换器、队列、消息都要开启,当然也是默认开启的。 consumer要关闭自动应答,需要采用手动应答。
相关文章推荐
- [RabbitMQ] RabbitMQ消息可靠性保证:消息确认/重传/持久化/死信队列等
- 【ActiveMQ】持久化消息队列的三种方式
- redis 消息队列(发布订阅)、持久化(RDB、AOF)、集群(cluster)
- RabbitMQ学习笔记七:交换机、队列、消息的持久化
- 分布式持久化消息队列memcacheq的安装部署
- 消息队列入门(五)ActiveMQ的JDBC消息持久化机制
- RabbitMQ之队列与消息持久化
- 【转】持久化消息队列之MEMCACHEQ
- ActiveMQ发消息 收消息 持久化,查询队列剩余消息数 出队数的实现
- ActiveMQ发消息、收消息、持久化,查询队列剩余消息数、出队数的实现
- 持久化消息队列memcacheq的安装配置
- RabbitMQ之消息持久化(队列持久化、消息持久化)
- 持久化消息队列memcacheq的安装配置
- 高性能开源持久化消息队列
- 持久化消息队列memcacheq的安装配置
- Java使用Rabbitmq惊喜队列queue和消息内容的本地持久化核心方法。(内容存储在硬盘)
- ActiveMQ发消息、收消息、持久化,查询队列剩余消息数、出队数的实现
- 持久化消息队列memcacheq的安装配置
- ActiveMQ发消息、收消息、持久化,查询队列剩余消息数、出队数的实现
- RabbitMQ(二)队列与消息的持久化