RocketMQ(12) -- RocketMQ工作原理-- 消息的消费

分布式消息队列RocketMQ

3.4)消息的消费

消费者从Broker中获取消息的方式有两种:pull拉取方式和push推动方式。

消费者组对于消息消费的模式又分为两种:集群消费Clustering和广播消费Broadcasting。

3.4.1)获取消费类型

3.4.1.1)拉取式消费

Consumer主动从Broker中拉取消息,主动权由Consumer控制。一旦获取了批量消息,就会启动消费过程。

不过,该方式的实时性较弱,即Broker中有了新的消息时消费者并不能及时发现并消费。

由于拉取时间间隔是由用户指定的,所以在设置该间隔时需要注意平衡:间隔太短,空请求比例会增加;间隔太长,消息的实时性太差

3.4.1.2)推送式消费

该模式下Broker收到数据后会主动推送给Consumer。该获取方式一般实时性较高。

该获取方式是典型的发布-订阅模式,即Consumer向其关联的Queue注册了监听器,一旦发现有新的消息到来就会触发回调的执行,回调方法是Consumer去Queue中拉取消息;而这些都是基于Consumer与Broker间的长连接的,长连接的维护是需要消耗系统资源的。

3.4.1.3)对比

pull:需要应用去实现对关联Queue的遍历,实时性差;但便于应用控制消息的拉取 ;

push:封装了对关联Queue的遍历,实时性强,但会占用较多的系统资源

3.4.2)消费模式

3.4.2.1)广播消费

广播消费模式下,相同Consumer Group的每个Consumer实例都接收同一个Topic的全量消息。即每条 消息都会被发送到Consumer Group中的每个Consumer。

3.4.2.2)集群消费

 集群消费模式下,相同Consumer Group的每个Consumer实例平均分摊同一个Topic的消息。即每条消 息只会被发送到Consumer Group中的某个Consumer。

3.4.2.3)消息进度保

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值