type
status
date
slug
summary
tags
category
icon
password

消费模式
- 集群模式,集群内只有一个消费者消费
- 广播模式,可以被集群内所有消费者消费
- push主动推送
- pull被动拉去
消费参数
消息负载均衡

- 连续平均分配

- 轮流分配

- 机房就近分配

- 指定机房队列 — consumerIds指定机房
- 手动指定
- Hash一致
offsetStore
${mqHome}/store/configconsumerOffset.json
${user_home}/.rocketmq_offsets
消费者线程配置
- consumeThreadMin
- consumeThreadMax
- pullBatchSize 一次拉取的消息数量
- consumeMessageBatchMaxSize 提交到监听的数量
Broker端配置
- maxTransferCountOnmessageInMemory 允许拉取的最大消息条数 x
- maxTransferByteOnmessageInMemory 允许拉取的最大消息大小 x * 1024
- maxTransferCountOnmessageInDisk
- maxTransferByteOnmessageInDisk
DefaultLitePullConsumer
顺序消费
MessageListenerOrderBy
消息过滤
- tag隔离
- topic隔离
消费重试
机制,Consumer消费失败,消息发送到延迟主题,重试次数+1,broker指定时间重新推送消费者,超过重试次数发送到死信队列
问题
- 消费进度提交,选取最小偏移量,还是可能存在消息重复
- 同一个消费者组,消费者订阅tag不一致会造成消息丢失
- 一个队列同一时间只能有一个消费者,消费队列需要相对均衡
- clientId一致,消息不消费
- 消息积压,brokerOffset最大偏移量与consumerOffset消息消费端的消费进度的差值
积压的条数和大小(消费线程排查,grep ‘PAGECACHERT’ store.log | more)