RocketMQ学习笔记(12)----RocketMQ的Consumer API简介
由于消息的消费方式有两种,所以两种方式也有不同的API:
1. PushConsumer的配置
1. consumerGroup: 默认值为DEFAULT_CONSUMER,Consumer组名,多个Consumer如果属于一个应用,订阅同样的消息,且消费逻辑一致,则应该将它们归为同一组
2. messageModel: 消息模型,默认值为CLUSTERING,支持集群消费,广播消费两种模型
3. consumeFromWhere: 默认值为CONSUME_FROM_LAST_OFFSET,Consumer启动后,默认从什么位置开始消费
4. allocateMessageQueueStrategy: 默认值AllocateMessageQueueAveragely,Rebalance(轮询)算法实现策略
5. subscription: 默认值{},订阅关系
6. messageListener: 消息监听器
7. offsetStore: 消息进度存储
8. consumeThreadMin: 默认10,消费线程池数量
9. consumeThreadMax: 默认20, 消费线程数量
10. consumeConcurrentlyMaxSpan: 默认值2000, 单队列并行消费允许的最大跨度
11. pullThresholdForQueue: 默认1000,拉消息本地队列缓存消息最大数
12. pullInterval: 默认0,拉消息间隔,由于是长轮询,所以为0,但是如果应用为了流控,也可以设置大于0的值,单位毫秒
13. consumeMessageBatchMaxSize: 默认1,批量消费,一次消费多少条消息
14. pullBatchSize: 默认32, 批量拉消息,一次最多拉多少条
2. PullConsumer的配置
1. consumerGroup: 默认DEFAULT_CONSUMER,Consumer组名,多个Consumer如果属于一个应用,订阅同样的消息,且消费逻辑一致,则应该将它们归为同一组。
2. brokerSuspendMaxTimeMillis:默认20000,长轮询,Consumer拉消息请求在Broker挂起最长时间,单位毫秒
3. consumerTimeoutMillisWhenSuspend: 默认30000,长轮询,Consumer拉消息请求在Broker挂起超过指定时间,客户端认为超时,单位毫秒
4. consumerPullTimeoutMillis: 默认10000,非长轮询,拉消息超时时间,单位毫秒
5. messageModel:默认值BROADCASTING,消息模型,支持以下集群消费 、广播消费两种模型
6. messageQueueListener: 监听队列变化
7. offsetStore: 消费进度存储
8. registerTopics:默认为[],注册的topic集合
9. allocateMessageQueueStrategy: 默认AllocateMessageQueueAveragely,Rebalance(轮询)算法实现策略