全网最全的,RocketMQ全部配置表,一文看懂掌握

前言

RocketMQ对于JAVA程序员来说应该都不陌生,RocketMQ是一款由阿里巴巴开源出来的一款消息中间件,各个大厂基本上都在用的这么一个中间件,其优点自不必言说,所以今天就不给大家来剖析RocketMQ了。

我们来分享点不一样的,相信大家在用RocketMQ时或多或少都会遇到一些问题,而比较常见的就是当其报错或配置一个参数时,往往一些新手就会懵逼这是啥意思呀,不知道如何处理。所以小编在这里整理了一份《RocketMQ全部参数配置表》,帮助大家来更好的使用RocketMQ。

废话不多说直接上干货。

1 Broker配置                                            

参数名

默认值

说明

listenPort

10911

接受客户端连接的监听端口

namesrvAddr

null

nameServer 地址

brokerIP1

网卡的 InetAddress

当前 broker 监听的 IP

brokerIP2

 brokerIP1 一样

存在主从 broker 时, 如果在 

broker 主节点上配置了 

brokerIP2 属性, broker  

节点会连接主节点配置的

 brokerIP2 进行同步

brokerName

null

broker 的名称

brokerClusterName

DefaultCluster

 broker 所属的 Cluser 名称

brokerId

0

broker id, 0 表示 master, 

的正整数表示 slave

storePathCommitLog

$HOME/store/commitlog/

存储 commit log 的路径

storePathConsumerQueue

$HOME/store/consumequeue/

存储 consume queue 的路径

mappedFileSizeCommitLog

1024 * 1024 * 1024(1G)

commit log 的映射文件大小

deleteWhen

 

04

在每天的什么时间删除已经

超过文件保留时间的

 commit log

fileReservedTime

72

以小时计算的文件保留时间

brokerRole

ASYNC_MASTER

SYNC_MASTER/ASYNC_M

ASTER/SLAVE

flushDiskType

ASYNC_FLUSH

SYNC_FLUSH/ASYNC_FLU

SH SYNC_FLUSH 模式下的 broker 保证在收到确认生产 者之前将消息刷盘。  ASYNC_FLUSH 模式下的 broker 则利用刷盘一组消息的模      式, 可以取得更好的性能。

2、客户端的公共配置                                   

参数名

默认值

说明

namesrvAddr

Name Server地址列表,多个NameServer 址用分号隔开

clientIP

本机IP

客户端本机IP地址,某些机器会发生无法识别 客户端IP地址情况,需要应用在代码中强制指 

instanceName

DEFAULT

客户端实例名称,客户端创建的多个 Producer Consumer实际是共用一个内部实 例(这个实例包含网络连接、线程资源等)

clientCallbackExecutorThreads

4

通信层异步回调线程数

pollNameServerInteval

30000

轮询Name Server间隔时间,单位毫秒

heartbeatBrokerInterval

30000

Broker发送心跳间隔时间,单位毫秒

persistConsumerOffsetInterval

5000

持久化Consumer消费进度间隔时间,单位毫 

3 Producer配置                                        

参数名

默认值

说明

producerGroup

DEFAULT_PRODUCER

Producer组名, 多个Producer如果属于一个应用, 发送同样 的消息,

 则应该将它们归为同一组

createTopicKey

TBW102

在发送消息时, 自动创建

服务器不存在的topic 

需要指定 Key Key

可用于配置发送消息

所在topic默认路由。

defaultTopicQueueNums

4

在发送消息, 自动创建服务

器不存在的topic时, 默认

创建的队 列数

sendMsgTimeout

10000

发送消息超时时间, 单位

毫秒

compressMsgBodyOverHowmuch

4096

消息Body超过多大开始压缩 Consumer收到消息

会自动解压  

 单位字节

retryAnotherBrokerWhenNotStoreOK

FALSE

如果发送消息返回sendResult 但是

sendStatus!=SEND_OK 是否重试发送

retryTimesWhenSendFailed

2

如果消息发送失败, 最大

重试次数, 该参数只对同

步发送模式 起作用

maxMessageSize

4MB

客户端限制的消息大小, 

超过报错, 同时服务端也

会限制, 以需要跟服务

端配合使用。

transactionCheckListener

事务消息回查监听器, 

果发送事务消息, 必须设

checkThreadPoolMinSize

1

BrokerProducer事务

状态时, 线程池最小线

程数

checkThreadPoolMaxSize

1

Broker回查Producer事务

状态时, 线程池最大线

程数

checkRequestHoldMax

2000

Broker回查Producer事务

状态时, Producer本地

缓冲请求队列大小

RPCHook

null

该参数是在Producer创建

时传入的, 包含消息发送

前的预处理 和消息响应后

的处理两个接口, 用户可

以在第一个接口中做一  

些安全控制或者其他操作。

4 PushConsumer配置                              

参数名

默认值

说明

consumerGroup

DEFAULT_CONSUMER

Consumer组名, 

多个Consumer如果

属于一个应用, 

订阅同样的消息,

 且消 费逻辑一致,

 则应该将它们归为

同一组

messageModel

CLUSTERING

消费模型支持集群消费和广播消费两种

consumeFromWhere

CONSUME_FROM_LAST_OFFSET

Consumer启动后,

 默认从上次消费的

位置开始消费, 

这包含两种情况:

   种是上次消费的

位置未过期, 则消

费从上次中止的位

置进行;  一种是

上次消 费位置已经

过期, 则从当前队

列第一条消息开始

消费

consumeTimestamp

半个小时前

只有当consumeFr

omWhere值为CONSUME_FR

OM_TIMESTAMP时才起作 用。

allocateMessageQueueStrategy

AllocateMessageQueueAveragely

Rebalance算法实现策略

subscription

订阅关系

messageListener

消息监听器

osetStore

消费进度存储

consumeThreadMin

10

消费线程池最小线程数

consumeThreadMax

20

消费线程池最大线程数

consumeConcurrentlyMaxSpan

2000

单队列并行消费允许的最大跨度

pullThresholdForQueue

1000

拉消息本地队列缓存消息最大数

pullInterval

0

拉消息间隔, 由于是长轮询, 所以为0 但是如果应用为了流控, 也可以设置 大于0的值, 单位毫秒

consumeMessageBatchMaxSize

1

批量消费, 一次消费多少条消息

pullBatchSize

32

批量拉消息, 一次最多拉多少条

5 PullConsumer配置                                

参数名

默认值

说明

consumerGroup

DEFAULT_CONSUMER

Consumer组名, 多个Consumer

果属  于一个应用, 订阅同样

的消息, 且消

费逻 辑一致,

 则应该将它们

归为同一组

brokerSuspendMaxTimeMillis

20000

长轮询, Con

sumer拉消息

请求在Broker

 挂起最长时间, 单位毫秒

consumerTimeoutMillisWhenSuspend

30000

长轮询, Consum

er拉消息请求

Broker 

起超过指定时间, 客户端认为超时,

毫秒

consumerPullTimeoutMillis

10000

非长轮询,

拉消息超时时间, 单位毫秒

messageModel

BROADCASTING

消息支持两种

模式:  集群

消费和广播消

messageQueueListener

监听队列变化

osetStore

消费进度存储

registerTopics

注册的topic集合

allocateMessageQueueStrategy

AllocateMessageQueueAveragely

Rebalance算法实现策略

6 Message数据结构                                     

字段名

默认

说明

Topic

null

必填,消息所属topic的名称

Body

null

必填,消息体

Tags

null

选填,消息标签,方便服务器过滤使用。目前只支持每个消息设 置一个tag

Keys

null

选填,代表这条消息的业务关键词,服务器会根据keys创建哈希   索引,设置后,可以在Console系统根据Topic Keys来查询消     息,由于是哈希索引,请尽可能保证key唯一,例如订单号,商品 Id等。

Flag

0

选填,完全由应用来设置,  RocketMQ不做干预

DelayTimeLevel

0

选填,消息延时级别,  0表示不延时,大于0会延时特定的时间才 会被消费

WaitStoreMsgOK

TRUE

选填,表示消息是否在服务器落盘后才返回应答。


结语

当然想要完全掌握RocketMQ记住这些肯定远远不够,在这小编为了帮助大家更好的学习也整理了一部分资料来帮助大家更快的上手《 RocketMQ集群搭建》《RocketMQ入门笔记》《RocketMQ安装》《MQ技术脑图》

​需要的同学可以记得“点赞收藏关注”自行下载!!!

最后祝大家早日升职加薪!!!

 

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值