RocketMQ配置


欢迎支持笔者新作:《深入理解Kafka:核心设计与实践原理》和《RabbitMQ实战指南》,同时欢迎关注笔者的微信公众号:朱小厮的博客。


欢迎跳转到本文的原文链接:https://honeypps.com/mq/rocketmq-config/

1. 客户端的公共配置类:ClientConfig

参数名默认值说明
namesrvAddrNameServer地址列表,多个NameServer地址用分号隔开
clientIp本机IP客户端本机IP地址,某些机器会发送无法识别客户端IP地址的情况,需要应用在代码中强制指定
instanceNameDEFAULT客户端实例名称,客户端创建的多个Producer,Consumer实际是公用一个内部实例(这个实例包含网络连接,线程资源等)
clientCallbackExecutorThreads4通信层异步回调线程数
pollNameServerInterval30000轮询NameServer间隔时间,单位毫秒
heartbeatBrokerInterval30000向Broker发送心跳间隔时间,单位毫秒
persistConsumerOffsetInterval5000持久化Consumer消费进度间隔时间,单位毫秒

2. Producer配置

参数名默认值说明
producerGroupDEFAULT_PRODUCERProducer组名,多个Producer如果属于一个应用,发送同样的消息,则应该将他们归为同一组
createTopicKeyTBW102在发送消息时,自动创建服务器不存在的
topicdefaultTopicQueueNums4在发送消息时,自动创建服务器不存在的topic,默认创建的队列数
sendMsgTimeout10000发送消息超时时间,单位毫秒
compressMsgBodyOverHowmuch4096消息Body超过多大开始压缩(Consumer收到消息会自动解压缩),单位字节
retryAnotherBrokerWhenNotStoreOKFALSE如果发送消息返回sendResult,但是sendStatus!=SEND_OK,是否重试发送
maxMessageSize131072客户端限制的消息大小,超过报错,同时服务端也会限制(默认128k)
transactionCheckListener事务消息会查监听器,如果发送事务消息,必须设置
checkThreadPoolMinSize1Broker回查Producer事务状态时,线程池大小
checkThreadPoolMaxSize1Broker回查Producer事务状态时,线程池大小
checkRequestHoldMax2000Broker回查Producer事务状态时,Produceer本地缓冲请求队列大小

3. PushConsumer配置

参数名默认值说明
consumerGroupDEFAULT_CONSUMERConsumer组名,多个Consumer如果属于一个应用,订阅同样的消息,且消费逻辑一致,则应将它们归为同一组
messageModelCLUSTERING消息模型,支持一下两种:集群消费,广播消费
consumerFromWhereConsumer_FROM_LAST_OFFSETConsumer启动后,默认从什么位置开始消费
allocateMessageQueueStrategyAllocateMessage QueueAveragelyRebalance算法实现策略
subscription{}订阅关系
messageListener消息监听器
offsetStore消费进度存储
consumerThreadMin10消费线程池数量
consumerThreadMax20消费线程池数量
consumeConsurrentlMaxSpan2000单队列并行消费允许的最大跨度
pullThresholdForQueue1000拉消息本地队列缓冲消息最大数
Pullinterval0拉消息间隔,由于是长轮询,所以为0,但是如果应用了流控,也可以设置大于0的值,单位毫秒
consumeMessageBatchMaxSize1批量消费,一次消费多少条消息
pullBatchSize32批量拉消息,一次最多拉多少条

4. PullConsumer配置

参数名默认值说明
consumerGroupConsumer组名,多个Consumer如果属于一个应用,订阅同样的消息,且消费逻辑一致,则应将它们归为同一组
brokerSuspendMaxTimeMills20000长轮询,Consumer拉消息请求在Broker挂起最长时间,单位毫秒
consumerPullTimeout10000非长轮询,拉消息超时时间,单位毫秒
consumerTimeoutMillisWhenSuspend30000长轮询,Consumer拉消息请求Broker挂起超过指定时间,客户端认为超时,单位毫秒
messageModelBROADCASTING消息类型,支持一下两种:集群消费;广播模式
messageQueueListener监听队列变化
offsetStore消费进度存储
registerTopics注册的topic集合
allocateMessageQueueStrategyRebalance算法实现策略

5. Broker参数配置

参数名默认值说明
listenPort10911Broker对外服务的监听端口
namesrvAddrNullNameServer地址
brokerIP1本机IP本机ip地址,默认系统自动识别,但是某些多网卡机器会存在识别错误的情况,这种情况下可以人工配置
brokerName本机主机名
brokerClusterNameDefaultClusterBroker所属那个集群
brokerId0BrokerId,必须是大于等于0的整数,0表示Master, 大于0表示Slave, 一个Master可以挂多个Slave,Master和Slave通过BrokerName来配对
storePathCommitLog$HOME/store/commitlogcommitLog存储路径
storePathConsumerQueue$HOME/store/consumequeue消费队列存储路径
storePathIndex$HOME/store/index消息索引存储队列
deleteWhen4删除时间点,默认凌晨4点
fileReserverdTime48文件保留时间,默认48小时
maxTransferBytesOnMessageInMemory262144单次pull消息(内存)传输的最大字节数
maxTransferCountOnMessageInMemory32单次pull消息(内存)传输的最大条数
maxTransferBytesOnMessageInDisk65535单次Pull消息(磁盘)传输的最大字节数
maxTransferCountOnMessageInDisk8单次pull消息(磁盘)传输的最大条数
messageIndexEnableTRUE是否开启消息索引功能
messageIndexSafeFALSE是否提供安全的消息索引机制,索引保证不丢
brokerRoleASYNC_MASTERBroker的角色:ASYNC_MASTER异步复制Master; SYNC_MASTER同步双写MASTER; SLAVE
flushDiskTypeASYNC_FLUSH刷盘方式: ASYNC_FLUSH异步刷盘;SYNC_FLUSH同步刷盘clientFileForciblyEnable

欢迎跳转到本文的原文链接:https://honeypps.com/mq/rocketmq-config/


欢迎支持笔者新作:《深入理解Kafka:核心设计与实践原理》和《RabbitMQ实战指南》,同时欢迎关注笔者的微信公众号:朱小厮的博客。


  • 3
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值