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(轮询)算法实现策略

原文 RocketMQ学习笔记(12)----RocketMQ的Consumer API简介

posted @ 2019-05-15 09:39  xiaoshen666  阅读(782)  评论(0编辑  收藏  举报