RabbitMQ进阶
Posted fcb-it
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了RabbitMQ进阶相关的知识,希望对你有一定的参考价值。
保证消息的安全
持久化
- 交换器持久化:声明交换器时指定持久化
- 队列持久化:声明队列时指定持久化
- 消息持久化:发送消息时指定持久化
一般队列和消息持久化要同时声明,此外消息假如进了交换器却找不到队列,也会丢失,必要时添加mandatory参数。
持久化会降低吞吐量。
消费者确认
- 订阅队列时设置autoAck为false
生产者确认
- 事务
- channel.txSelect()
- channel.txCommit()
- channel.txRollback()
- 发送方确认(confirm机制)
- 普通确认:吞吐量低
- 批量确认:丢失率高的时候影响效率
- 异步确认:推荐使用,channel.addConfirmListener
过期时间TTL
- 队列的过期时间TTL
- 消息的过期时间TTL
死信队列
- 死信
- 消息被拒绝
- 消息过期
- 队列达到最大长度
- 死信会进入死信交换器,然后进入死信队列
- 可以用死信队列来做延迟队列
优先级队列
- 发送时设置消息优先级
以上是关于RabbitMQ进阶的主要内容,如果未能解决你的问题,请参考以下文章
RabbitMQ 进阶 -- 阿里云服务器部署RabbitMQ集群