腾讯云
开发者社区
文档
建议反馈
控制台
登录/注册
首页
学习
活动
专区
圈层
工具
MCP广场
文章/答案/技术大牛
搜索
搜索
关闭
发布
RocketMQ详解
共 7 篇文章
加入清单架
1
RocketMQ详解(13)——RocketMQ的消息模式
2
RocketMQ详解(12)——RocketMQ的重试机制
3
RocketMQ详解(10)——Consumer详解
4
RocketMQ详解(9)——Consumer简介
5
RocketMQ详解(6)——Producer详解
6
RocketMQ详解(3)——RocketMQ集群模型与搭建
7
RocketMQ详解(2)——RocketMQ核心概念
清单首页
RocketMQ详解
文章详情
清单「RocketMQ详解」 04/07
RocketMQ详解(9)——Consumer简介
张申傲
RocketMQ详解(9)——Consumer简介
一. RocketMQ的消费模式
在RocketMQ中,Consumer分为2类:MQPullConsumer和MQPushConsumer。其本质都是pull模式,即Consumer轮询从Broker拉取消息。
在push方式中,Consumer把轮询的过程封装了。当应用注册MessageListener后,Broker接收到消息时,会自动回调MessageListener的consumeMessage()方法,在Consumer端执行消费。对于应用来说,这个过程好像是消息自动推送过来的。该方式Consumer与Broker建立了长连接。
在pull方式中,需要应用自己实现拉取消息的过程,首先通过消费的Topic拿到MessageQueue集合,遍历MessageQueue集合,然后针对每个MessageQueue批量拉取消息。取完一次后,记录MessageQueue下一次要取的起始offset,取完后再换下一个MessageQueue。该方式Consumer与Broker建立的是短连接。
二. Consumer相关配置参数
consumeFromWhere Consumer启动后,默认从MessageQueue的什么位置开始消费,可以设置为ConsumeFromWhere.CONSUME_FROM_LAST_OFFSET从队尾开始消费或ConsumeFromWhere.CONSUME_FROM_FIRST_OFFSET从队头开始消费。
consumeThreadMin 消费者线程最小数量,默认20
consumeThreadMax 消费者线程最大数量,默认64
pullThresholdForQueue 拉取消息时,本地消息队列缓存的最大消息数量,默认1000
consumeMessageBatchMaxSize 批量消费时,一次最多消费多少条记录,默认1
pullBatchSize 批量拉取消息时,一次最多拉取的消息条数,默认32
pullInterval 消息拉取线程执行拉取消息的时间间隔,默认0
下一篇
举报
领券