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

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

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

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

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

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

涵盖 RocketMQ、Kafka、RabbitMQ、MQTT、轻量消息队列(原MNS) 的消息队列产品体系,全系产品 Serverless 化。RocketMQ 一站式学习:https://rocketmq.io/

相关产品

  • 轻量消息队列(原 MNS)
  • 云消息队列 MQ
  • 热门讨论

    热门文章

    相关电子书

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