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