RocketMQ详解(9)——Consumer简介

RocketMQ详解(9)——Consumer简介

一. RocketMQ的消费模式

  1. 在RocketMQ中,Consumer分为2类:MQPullConsumer和MQPushConsumer。其本质都是pull模式,即Consumer轮询从Broker拉取消息。
  2. 在push方式中,Consumer把轮询的过程封装了。当应用注册MessageListener后,Broker接收到消息时,会自动回调MessageListener的consumeMessage()方法,在Consumer端执行消费。对于应用来说,这个过程好像是消息自动推送过来的。该方式Consumer与Broker建立了长连接。
  3. 在pull方式中,需要应用自己实现拉取消息的过程,首先通过消费的Topic拿到MessageQueue集合,遍历MessageQueue集合,然后针对每个MessageQueue批量拉取消息。取完一次后,记录MessageQueue下一次要取的起始offset,取完后再换下一个MessageQueue。该方式Consumer与Broker建立的是短连接。

二. Consumer相关配置参数

  1. consumeFromWhere

    Consumer启动后,默认从MessageQueue的什么位置开始消费,可以设置为ConsumeFromWhere.CONSUME_FROM_LAST_OFFSET从队尾开始消费或ConsumeFromWhere.CONSUME_FROM_FIRST_OFFSET从队头开始消费。

  2. consumeThreadMin

    消费者线程最小数量,默认20

  3. consumeThreadMax

    消费者线程最大数量,默认64

  4. pullThresholdForQueue

    拉取消息时,本地消息队列缓存的最大消息数量,默认1000

  5. consumeMessageBatchMaxSize

    批量消费时,一次最多消费多少条记录,默认1

  6. pullBatchSize

    批量拉取消息时,一次最多拉取的消息条数,默认32

  7. pullInterval

    消息拉取线程执行拉取消息的时间间隔,默认0

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

张申傲

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值