当前位置:   article > 正文

rocketmq一个消费者有多个服务器_RocketMQ消息消费概览

多台机器在mq同一个消费组会消费多少次

概览

RocketMQ消息消费以消费组为消费维度的,消费组之间消息消费有集群模式与广播模式两种消费模式。

广播模式

主题下的同一条消息将被集群内的所有消费者消费一次。

集群模式

主题下的同一条消息只允许被其中一个消费者消费。一个消费组内可以包含多个消费者,一个消费者组订阅相同的消息主题,一个主题Topic拥有多个消息存储队列。每一个组内的消费者可以消费这个Topic下的多个消息队列,Topic下的一个消息队列只能被一个同一个组的一个消费者消费。

消息服务器与消费者之间的消息传送也有两种方式:推模式、拉模式。

拉模式

消费端一定的频率主动发起拉消息请求,获得服务端消息相应,再按照相同的频率发起拉消息请求。现在官方已经不推荐使用这种模式了。这个时候一定处理好拉取频率的设定,避免下面两种情况的出现。

消息堆积,服务端每分钟接受10万消息,消费端每分钟只能消息5万条消息,服务端忙,而消费者处理不过来。

消息空缺,服务端每小时接受到一条消息,消费者每次都去拉取消失,只能获取空消息,浪费计算机和网络资源。

推模式

消息到达消息服务器后,推送消息给消费者。 RocketMQ消息推模式并不是真正意义上的服务端将消息推送给消费端。本质实现为消费端消息拉取线程在从服务器拉取到一批消息后,然后提交到消息消费线程池后,又“马不停蹄”的继续向服务器再次尝试拉取消息,再提交到消息消费线程池,然后由消费端消费线程异步的从消费线程池获取消息进行消息消费,解耦了消息拉取和消息消费过程。如果未拉取到消息,则延迟一下又继续拉取。

顺序消息

顺序消息是指消息消费的顺序和生产

声明:本文内容由网友自发贡献,转载请注明出处:【wpsshop】
推荐阅读
相关标签
  

闽ICP备14008679号