由於消息的消費方式有兩種,所以兩種方式也有不同的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(輪詢)算法實現策略
