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 184 分享 版权
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
    赞同 展开评论

涵盖 RocketMQ、Kafka、RabbitMQ、MQTT、轻量消息队列(原MNS) 的消息队列产品体系,全系列产品 Serverless 化。RocketMQ 中文社区:https://rocketmq-learning.com/

还有其他疑问?
咨询AI助理