消息队列 RocketMQ 版 集群消费与广播消费

消息队列 TDMQ RocketMQ 版中集群消费和广播消费的相关功能和应用场景。

相关产品
消息队列 RocketMQ 版 产品页,含版本规格、价格与购买入口。

一、功能介绍

·集群消费:当使用集群消费模式时,任意一条消息只需要被集群内的任意一个消费者处理即可。

·广播消费:当使用广播消费模式时,每条消息会被推送给集群内所有注册过的消费者,保证消息至少被每个消费者消费一次。

二、应用场景

·集群消费:适用于每条消息只需要被处理一次的场景。

·广播消费:适用于每条消息需要被集群下每一个消费者处理的场景。

三、代码示例

·集群订阅

5.x SDK4.x SDK

5.x SDK 默认为集群消费模式,无需特殊设置。说明:请确保同一个 Group ID 下所有 Consumer 实例的订阅关系保持一致。

·同一个 Group ID 所标识的所有 Consumer 平均分摊消费消息。例如某个 Topic 有9条消息,一个 Group ID 有3个 Consumer 实例,那么在集群消费模式下每个实例平均分摊,只消费其中的3条消息。

// 集群订阅方式设置(不设置的情况下,默认为集群订阅方式)。properties.put(PropertyKeyConst.MessageModel, PropertyValueConst.CLUSTERING);

·广播订阅

5.x SDK4.x SDK5.x gRPC SDK 已经不支持广播消费,如果需要使用,可以给每个消费者创建一个单独的订阅组实现类似的功能。说明:请确保同一个 Group ID 下所有 Consumer 实例的订阅关系保持一致。TDMQ RocketMQ 5.x 在开源代码的基础上适配了广播消费,对于 5.x Remoting SDK 可以使用广播消费,开启的方式和4.x SDK 相同。// 广播订阅方式设置。properties.put(PropertyKeyConst.MessageModel, PropertyValueConst.BROADCASTING); 同一个 Group ID 所标识的所有 Consumer 都会各自消费某条消息一次。例如某个 Topic 有9条消息,一个 Group ID 有3个 Consumer 实例,那么在广播消费模式下每个实例都会各自消费9条消息。// 广播订阅方式设置。properties.put(PropertyKeyConst.MessageModel, PropertyValueConst.BROADCASTING); 说明:请确保同一个 Group ID 下所有 Consumer 实例的订阅关系保持一致。

赞 (0)
上一篇 4天前
下一篇 4天前