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(輪詢)算法實現策略


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM