码迷,mamicode.com
首页 > 其他好文 > 详细

三、RabbitMQ进阶

时间:2020-06-02 11:39:33      阅读:58      评论:0      收藏:0      [点我收藏+]

标签:拒绝   生产者   man   时间   生产   影响   auto   交换   消费   

保证消息的安全

持久化

  • 交换器持久化:声明交换器时指定持久化
  • 队列持久化:声明队列时指定持久化
  • 消息持久化:发送消息时指定持久化
    一般队列和消息持久化要同时声明,此外消息假如进了交换器却找不到队列,也会丢失,必要时添加mandatory参数。
    持久化会降低吞吐量。

消费者确认

  • 订阅队列时设置autoAck为false

生产者确认

  • 事务
    • channel.txSelect()
    • channel.txCommit()
    • channel.txRollback()
  • 发送方确认(confirm机制)
    • 普通确认:吞吐量低
    • 批量确认:丢失率高的时候影响效率
    • 异步确认:推荐使用,channel.addConfirmListener

过期时间TTL

  • 队列的过期时间TTL
  • 消息的过期时间TTL

死信队列

  • 死信
    • 消息被拒绝
    • 消息过期
    • 队列达到最大长度
  • 死信会进入死信交换器,然后进入死信队列
  • 可以用死信队列来做延迟队列

优先级队列

  • 发送时设置消息优先级

三、RabbitMQ进阶

标签:拒绝   生产者   man   时间   生产   影响   auto   交换   消费   

原文地址:https://www.cnblogs.com/fcb-it/p/13029587.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!