rocketMQ消息模式(集群和广播)

消息模式
DefaultMQPushConsumer实现了自动保存offset值以及实现多个consumer的负载均衡。

//设置组名
DefaultMQPushConsumer consumer = new DefaultMQPushConsumer("HAOKE_IM");

通过groupname将多个consumer组合在一起,那么就会存在一个问题,消息发送到这个组后,消息怎么分配呢?
这个时候,就需要指定消息模式,分别有集群和广播模式。
集群模式(默认)
       同一个 ConsumerGroup(GroupName相同) 里的每 个 Consumer 只消费所订阅消息的一部分内容, 同一个 ConsumerGroup 里所有的 Consumer消费的内容合起来才是所订阅 Topic 内容的整体, 从而达到负载均衡的目的 。
广播模式
       同一个 ConsumerGroup里的每个 Consumer都 能消费到所订阅 Topic 的全部消息,也就是一个消息会被多次分发,被多个 Consumer消费。

// 集群模式 
consumer.setMessageModel(MessageModel.CLUSTERING); 
// 广播模式 
consumer.setMessageModel(MessageModel.BROADCASTING);

猜你喜欢

转载自blog.csdn.net/qq_26896085/article/details/104958868