开发者社区 > 云原生 > 消息队列 > 正文

MNS如何保证多个消息的消费者访问同一消息队列,而不会丢失消息或重复消费消息?

MNS如何保证多个消息的消费者访问同一消息队列,而不会丢失消息或重复消费消息?

展开
收起
保持可爱mmm 2020-03-29 00:09:41 1949 0
2 条回答
写回答
取消 提交回答
  • 重复是有可能的,消息队里的qos是at least once

    2021-03-22 11:00:45
    赞同 展开评论 打赏
  • 每个MNS队列都具有可配置的不可见时间段属性(即队列的取出消息隐藏时长属性)。当队列中的某条消息被取出后,在不可见时间段内,其他消费者将无法获取到该条消息。如果用户在不可见时间段内完成了消息的消费,则需要通过临时句柄(ReceiptHandle)进行消息的删除;如果超过不可见时间仍未完成消费,则需要发送不可见时间段的延长请求(ChangeVisibilityTimeout);否则消息将会在不可见时间段结束后重新被其他消费者取出。

    2020-03-29 00:11:01
    赞同 展开评论 打赏

多个子产品线联合打造金融级高可用消息服务以及对物联网的原生支持,覆盖多行业。

相关产品

  • 消息服务
  • 云消息队列 MQ
  • 相关电子书

    更多
    企业互联网架构之消息队列 立即下载
    基于消息队列RocketMQ的大型分布式应用上云最佳实践 立即下载
    云原生消息队列Apache RocketMQ 立即下载