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

RocketMQ5的顺序消息设计是根据message group粒度分发的吗?

问题一:RocketMQ5的顺序消息设计是根据message group粒度分发的吗?不同message group会相互阻塞吗?push consumer模式
问题二:RocketMQ 5里的消息组(message group),因为看文档里有这么个说法,不知道RocketMQ 5里顺序消息消费时,同一个queue里不同消息组(不是consumer group),会不会相互阻塞?66bf99567048e5c21f06f3c547c8fe4f.png

展开
收起
游客6poszk7nfmalm 2023-07-23 22:10:20 76 0
2 条回答
写回答
取消 提交回答
  • 是的,RocketMQ 5 中的顺序消息设计是基于 Message Group 粒度进行分发的。Message Group 是指具有相同 Group ID 的一组消息。在发送顺序消息时,可以为每个消息设置一个 Group ID,使得具有相同 Group ID 的消息被分配到同一个消息队列中。

    RocketMQ 通过以下步骤实现顺序消息的分发:

    1. 消息发送阶段:在发送顺序消息时,应用程序可以为每个消息设置一个 Group ID。RocketMQ 根据 Group ID 来判断消息是否属于同一个 Message Group。若属于同一个 Group,则会保证这组消息按照发送顺序存储在同一个 Broker 上的一个队列中。

    2. 消息消费阶段:在消费顺序消息时,只能使用一个消费者实例来接收该消息队列的消息。该消费者实例将以串行方式按顺序处理消息,确保消息按发送顺序被消费。

    2023-07-28 09:48:25
    赞同 展开评论 打赏
  • 针对问题一的回答:不同group完全不影响。顺序是按照queue粒度的, 类似kafka的partition。
    针对问题二的回答:不会,不同group是不影响的。
    ——此回答整理自钉群“群2-Apache RocketMQ 中国开发者钉钉群”

    2023-07-23 22:20:52
    赞同 展开评论 打赏

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

相关产品

  • 云消息队列 MQ
  • 热门讨论

    热门文章

    相关电子书

    更多
    RocketMQ Client-GO 介绍 立即下载
    RocketMQ Prometheus Exporter 打造定制化 DevOps 平台 立即下载
    基于 RocketMQ Prometheus Exporter 打造定制化 DevOps 平台 立即下载