rabbitmq 消息expiration属性的坑

应用了每条消息 TTL 的队列 追溯性地(当他们已经有消息时)将丢弃 发生特定事件时的消息。

只有当过期的消息到达队列的头部时,它们才会真正到达 已丢弃(标记为删除)。消费者不会有 传递给他们的过期消息。请记住 消息过期之间可能存在自然争用条件 和消费者交付,例如消息可能会过期 在写入套接字之后,但在到达之前 消费者。

设置每条消息的 TTL 时,过期消息可能会排队 在未过期的后面,直到后者被消耗或 过期。因此,此类过期消息使用的资源将 不被释放,它们将被计入队列统计信息中 (例如,队列中的消息数)。

追溯应用每条消息的 TTL 策略时,它是 建议让消费者在线,以确保 丢弃消息的速度更快。

鉴于现有 TTL 设置的每条消息的这种行为 队列中,当需要删除消息时要释放 资源出现,应改用队列 TTL(或队列 清除或队列删除)。

原文地址:https://www.rabbitmq.com/docs/ttl#message-ttl-applied-retroactively

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值