RocketMQ配置
                                                            生活随笔
收集整理的這篇文章主要介紹了
                                RocketMQ配置
小編覺得挺不錯的,現在分享給大家,幫大家做個參考.                        
                                歡迎支持筆者新作:《深入理解Kafka:核心設計與實踐原理》和《RabbitMQ實戰指南》,同時歡迎關注筆者的微信公眾號:朱小廝的博客。
 
歡迎跳轉到本文的原文鏈接:https://honeypps.com/mq/rocketmq-config/
1. 客戶端的公共配置類:ClientConfig
| namesrvAddrNameServer | 地址列表,多個NameServer地址用分號隔開 | |
| clientIp | 本機IP | 客戶端本機IP地址,某些機器會發送無法識別客戶端IP地址的情況,需要應用在代碼中強制指定 | 
| instanceName | DEFAULT | 客戶端實例名稱,客戶端創建的多個Producer,Consumer實際是公用一個內部實例(這個實例包含網絡連接,線程資源等) | 
| clientCallbackExecutorThreads | 4 | 通信層異步回調線程數 | 
| pollNameServerInterval | 30000 | 輪詢NameServer間隔時間,單位毫秒 | 
| heartbeatBrokerInterval | 30000 | 向Broker發送心跳間隔時間,單位毫秒 | 
| persistConsumerOffsetInterval | 5000 | 持久化Consumer消費進度間隔時間,單位毫秒 | 
2. Producer配置
| producerGroup | DEFAULT_PRODUCER | Producer組名,多個Producer如果屬于一個應用,發送同樣的消息,則應該將他們歸為同一組 | 
| createTopicKey | TBW102 | 在發送消息時,自動創建服務器不存在的 | 
| topicdefaultTopicQueueNums | 4 | 在發送消息時,自動創建服務器不存在的topic,默認創建的隊列數 | 
| sendMsgTimeout | 10000 | 發送消息超時時間,單位毫秒 | 
| compressMsgBodyOverHowmuch | 4096 | 消息Body超過多大開始壓縮(Consumer收到消息會自動解壓縮),單位字節 | 
| retryAnotherBrokerWhenNotStoreOK | FALSE | 如果發送消息返回sendResult,但是sendStatus!=SEND_OK,是否重試發送 | 
| maxMessageSize | 131072 | 客戶端限制的消息大小,超過報錯,同時服務端也會限制(默認128k) | 
| transactionCheckListener | 事務消息會查監聽器,如果發送事務消息,必須設置 | |
| checkThreadPoolMinSize | 1 | Broker回查Producer事務狀態時,線程池大小 | 
| checkThreadPoolMaxSize | 1 | Broker回查Producer事務狀態時,線程池大小 | 
| checkRequestHoldMax | 2000 | Broker回查Producer事務狀態時,Produceer本地緩沖請求隊列大小 | 
3. PushConsumer配置
| consumerGroup | DEFAULT_CONSUMER | Consumer組名,多個Consumer如果屬于一個應用,訂閱同樣的消息,且消費邏輯一致,則應將它們歸為同一組 | 
| messageModel | CLUSTERING | 消息模型,支持一下兩種:集群消費,廣播消費 | 
| consumerFromWhere | Consumer_FROM_LAST_OFFSET | Consumer啟動后,默認從什么位置開始消費 | 
| allocateMessageQueueStrategy | AllocateMessage QueueAveragelyRebalance | 算法實現策略 | 
| subscription | {} | 訂閱關系 | 
| messageListener | 消息監聽器 | |
| offsetStore | 消費進度存儲 | |
| consumerThreadMin | 10 | 消費線程池數量 | 
| consumerThreadMax | 20 | 消費線程池數量 | 
| consumeConsurrentlMaxSpan | 2000 | 單隊列并行消費允許的最大跨度 | 
| pullThresholdForQueue | 1000 | 拉消息本地隊列緩沖消息最大數 | 
| Pullinterval | 0 | 拉消息間隔,由于是長輪詢,所以為0,但是如果應用了流控,也可以設置大于0的值,單位毫秒 | 
| consumeMessageBatchMaxSize | 1 | 批量消費,一次消費多少條消息 | 
| pullBatchSize | 32 | 批量拉消息,一次最多拉多少條 | 
4. PullConsumer配置
| consumerGroup | Consumer組名,多個Consumer如果屬于一個應用,訂閱同樣的消息,且消費邏輯一致,則應將它們歸為同一組 | |
| brokerSuspendMaxTimeMills | 20000 | 長輪詢,Consumer拉消息請求在Broker掛起最長時間,單位毫秒 | 
| consumerPullTimeout | 10000 | 非長輪詢,拉消息超時時間,單位毫秒 | 
| consumerTimeoutMillisWhenSuspend | 30000 | 長輪詢,Consumer拉消息請求Broker掛起超過指定時間,客戶端認為超時,單位毫秒 | 
| messageModel | BROADCASTING | 消息類型,支持一下兩種:集群消費;廣播模式 | 
| messageQueueListener | 監聽隊列變化 | |
| offsetStore | 消費進度存儲 | |
| registerTopics | 注冊的topic集合 | |
| allocateMessageQueueStrategyRebalance | 算法實現策略 | 
5. Broker參數配置
| listenPort | 10911 | Broker對外服務的監聽端口 | 
| namesrvAddr | Null | NameServer地址 | 
| brokerIP1 | 本機IP | 本機ip地址,默認系統自動識別,但是某些多網卡機器會存在識別錯誤的情況,這種情況下可以人工配置 | 
| brokerName | 本機主機名 | |
| brokerClusterName | DefaultCluster | Broker所屬那個集群 | 
| brokerId | 0 | BrokerId,必須是大于等于0的整數,0表示Master, 大于0表示Slave, 一個Master可以掛多個Slave,Master和Slave通過BrokerName來配對 | 
| storePathCommitLog | $HOME/store/commitlog | commitLog存儲路徑 | 
| storePathConsumerQueue | $HOME/store/consumequeue | 消費隊列存儲路徑 | 
| storePathIndex | $HOME/store/index | 消息索引存儲隊列 | 
| deleteWhen | 4 | 刪除時間點,默認凌晨4點 | 
| fileReserverdTime | 48 | 文件保留時間,默認48小時 | 
| maxTransferBytesOnMessageInMemory | 262144 | 單次pull消息(內存)傳輸的最大字節數 | 
| maxTransferCountOnMessageInMemory | 32 | 單次pull消息(內存)傳輸的最大條數 | 
| maxTransferBytesOnMessageInDisk | 65535 | 單次Pull消息(磁盤)傳輸的最大字節數 | 
| maxTransferCountOnMessageInDisk | 8 | 單次pull消息(磁盤)傳輸的最大條數 | 
| messageIndexEnable | TRUE | 是否開啟消息索引功能 | 
| messageIndexSafe | FALSE | 是否提供安全的消息索引機制,索引保證不丟 | 
| brokerRole | ASYNC_MASTER | Broker的角色:ASYNC_MASTER異步復制Master; SYNC_MASTER同步雙寫MASTER; SLAVE | 
| flushDiskType | ASYNC_FLUSH | 刷盤方式: ASYNC_FLUSH異步刷盤;SYNC_FLUSH同步刷盤clientFileForciblyEnable | 
歡迎跳轉到本文的原文鏈接:https://honeypps.com/mq/rocketmq-config/
歡迎支持筆者新作:《深入理解Kafka:核心設計與實踐原理》和《RabbitMQ實戰指南》,同時歡迎關注筆者的微信公眾號:朱小廝的博客。
 
總結
以上是生活随笔為你收集整理的RocketMQ配置的全部內容,希望文章能夠幫你解決所遇到的問題。
 
                            
                        - 上一篇: 浅析ProcessBuilder
- 下一篇: RabbitMQ之mandatory和i
