• RocketMQ4.3.x 史上配置最全详解,没有之一


       最近整理了RocketMQ的配置参数一部分参考rocketmq技术内幕,一部分自己看源码猜测,有表述不清楚或不正确请广大网友指正

       这里应该是最全的配置解析了,搞了2天。以后查询就好办了,仅此贡献给广大网友方便查询。

        其中有很多我也没有搞明白,Rocket源码太多,读起来比较吃力,有很多都是见名知意。

      

       

    NameServer配置属性
    参数名 参数类型 描述 默认参数(时间为单位ms,数据单位为byte)
    rocketmqHome String RockerMQ主目录,默认用户主目录  
    namesrvAddr String NameServer地址  
    kvConfigPath String kv配置文件路径,包含顺序消息主题的配置信息  
    configStorePath String NameServer配置文件路径,建议使用-c指定NameServer配置文件路径  
    clusterTest boolean 是否开启集群测试,默认为false  
    orderMessageEnable boolean 是否支持顺序消息,默认为false  
    NameServer、Broker、filter网络配置属性
    accessMessageInMemoryMaxRatio int 访问消息在内存中比率,默认为40 40
    adminBrokerThreadPoolNums int 服务端处理控制台管理命令线程池线程数量 16
    autoCreateSubscriptionGroup boolean 是否自动创建消费组 true
    autoCreateTopicEnable boolean 是否自动创建主题 true
    bitMapLengthConsumeQueueExt int ConsumeQueue扩展过滤bitmap大小 112
    brokerClusterName String Broker集群名称 TestCluster
    brokerFastFailureEnable boolean 是否支持broker快速失败 如果为true表示会立即清除发送消息线程池,消息拉取线程池中排队任务 ,直接返回系统错误 true
    brokerId int brokerID 0表示主节点 大于0表示从节点 0
    brokerIP1 String Broker服务地址  
    brokerIP2 String BrokerHAIP地址,供slave同步消息的地址  
    brokerName String Broker服务器名称morning服务器hostname broker-a
    brokerPermission int Broker权限 默认为6表示可读可写 6
    brokerRole enum broker角色,分为 ASYNC_MASTER SYNC_MASTER, SLAVE ASYNC_MASTER
    brokerTopicEnable boolean broker名称是否可以用做主体使用 true
    channelNotActiveInterval long   60000
    checkCRCOnRecover boolean 文件恢复时是否校验CRC true
    cleanFileForciblyEnable boolean 是否支持强行删除过期文件 true
    cleanResourceInterval int 清除过期文件线程调度频率 10000
    clientAsyncSemaphoreValue int   65535
    clientCallbackExecutorThreads int   8
    clientChannelMaxIdleTimeSeconds int   120
    clientCloseSocketIfTimeout boolean   false
    clientManagerThreadPoolQueueCapacity int 客户端管理线程池任务队列初始大小 1000000
    clientManageThreadPoolNums int 服务端处理客户端管理(心跳 注册 取消注册线程数量) 32
    clientOnewaySemaphoreValue int   65535
    clientPooledByteBufAllocatorEnable boolean   false
    clientSocketRcvBufSize long 客户端socket接收缓冲区大小 131072
    clientSocketSndBufSize long 客户端socket发送缓冲区大小 131072
    clientWorkerThreads int   4
    clusterTopicEnable boolean 集群名称是否可用在主题使用 true
    commercialBaseCount int   1
    commercialBigCount int   1
    commercialEnable boolean   true
    commercialTimerCount int   1
    commercialTransCount int   1
    commitCommitLogLeastPages int 一次提交至少需要脏页的数量,默认4页,针对 commitlog文件 4
    commitCommitLogThoroughInterval int Commitlog两次提交的最大间隔,如果超过该间隔,将忽略commitCommitLogLeastPages直接提交 200
    commitIntervalCommitLog int commitlog提交频率 200
    compressedRegister boolean   false
    connectTimeoutMillis long 链接超时时间 3000
    consumerFallbehindThreshold long 消息消费堆积阈值默认16GB在disableConsumeifConsumeIfConsumerReadSlowly为true时生效 17179869184
    consumerManagerThreadPoolQueueCapacity int 消费管理线程池任务队列大小 1000000
    consumerManageThreadPoolNums int 服务端处理消费管理 获取消费者列表 更新消费者进度查询消费进度等  32
    debugLockEnable boolean 是否支持 PutMessage Lock锁打印信息 false
    defaultQueryMaxNum int 查询消息默认返回条数,默认为32 32
    defaultTopicQueueNums int 主体在一个broker上创建队列数量 8
    deleteCommitLogFilesInterval int 删除commitlog文件的时间间隔,删除一个文件后等一下再删除一个文件 100
    deleteConsumeQueueFilesInterval int 删除consumequeue文件时间间隔 100
    deleteWhen String 磁盘文件空间充足情况下,默认每天什么时候执行删除过期文件,默认04表示凌晨4点 04
    destroyMapedFileIntervalForcibly int 销毁MappedFile被拒绝的最大存活时间,默认120s。清除过期文件线程在初次销毁mappedfile时,如果该文件被其他线程引用,引用次数大于0.则设置MappedFile的可用状态为false,并设置第一次删除时间,下一次清理任务到达时,如果系统时间大于初次删除时间加上本参数,则将ref次数一次减1000,知道引用次数小于0,则释放物理资源 120000
    disableConsumeIfConsumerReadSlowly boolean 如果消费组消息消费堆积是否禁用该消费组继续消费消息 false
    diskFallRecorded boolean 是否统计磁盘的使用情况,默认为true true
    diskMaxUsedSpaceRatio int commitlog目录所在分区的最大使用比例,如果commitlog目录所在的分区使用比例大于该值,则触发过期文件删除 75
    duplicationEnable boolean 是否允许重复复制,默认为 false false
    enableCalcFilterBitMap boolean 是否开启比特位映射,这个属性不太明白 false
    enableConsumeQueueExt boolean 是否启用ConsumeQueue扩展属性 false
    enablePropertyFilter boolean 是否支持根据属性过滤 如果使用基于标准的sql92模式过滤消息则改参数必须设置为true false
    endTransactionPoolQueueCapacity int 处理提交和回滚消息线程池线程队列大小 100000
    endTransactionThreadPoolNums int 处理提交和回滚消息线程池 24
    expectConsumerNumUseFilter boolean 布隆过滤器参数 32
    fastFailIfNoBufferInStorePool boolean 从 transientStorepool中获取 ByteBuffer是否支持快速失败 false
    fetchNamesrvAddrByAddressServer boolean 是否支持从服务器获取nameServer false
    fileReservedTime String 文件保留时间,默认72小时,表示非当前写文件最后一次更新时间加上filereservedtime小与当前时间,该文件将被清理 120
    filterDataCleanTimeSpan long 清除过滤数据的时间间隔 86400000
    filterServerNums int broker服务器过滤服务器数量 0
    filterSupportRetry boolean 消息过滤是否支持重试 false
    flushCommitLogLeastPages int 一次刷盘至少需要脏页的数量,针对commitlog文件 4
    flushCommitLogThoroughInterval int commitlog两次刷盘的最大间隔,如果超过该间隔,将fushCommitLogLeastPages要求直接执行刷盘操作 10000
    flushCommitLogTimed boolean 表示await方法等待FlushIntervalCommitlog,如果为true表示使用Thread.sleep方法等待 false
    flushConsumeQueueLeastPages int 一次刷盘至少需要脏页的数量,默认2页,针对 Consume文件 2
    flushConsumeQueueThoroughInterval int Consume两次刷盘的最大间隔,如果超过该间隔,将忽略 60000
    flushConsumerOffsetHistoryInterval int fushConsumeQueueLeastPages直接刷盘 60000
    flushConsumerOffsetInterval int 持久化消息消费进度 consumerOffse.json文件的频率ms 5000
    flushDelayOffsetInterval long 延迟队列拉取进度刷盘间隔。默认10s 10000
    flushDiskType enum 刷盘方式,默认为 ASYNC_FLUSH(异步刷盘),可选值SYNC_FLUSH(同步刷盘) ASYNC_FLUSH
    flushIntervalCommitLog int commitlog刷盘频率 500
    flushIntervalConsumeQueue int consumuQueue文件刷盘频率 1000
    flushLeastPagesWhenWarmMapedFile int 用字节0填充整个文件的,每多少页刷盘一次。默认4096页,异步刷盘模式生效 4096
    forceRegister boolean 是否强制注册 true
    haHousekeepingInterval int Master与save长连接空闲时间,超过该时间将关闭连接 20000
    haListenPort int Master监听端口,从服务器连接该端口,默认为10912 10912
    haMasterAddress String Master服务器IP地址与端口号  
    haSendHeartbeatInterval int Master与Slave心跳包发送间隔 5000
    haSlaveFallbehindMax int 允许从服务器落户的最大偏移字节数,默认为256M。超过该值则表示该Slave不可用 268435456
    haTransferBatchSize int 一次HA主从同步传输的最大字节长度,默认为32K 32768
    heartbeatThreadPoolNums int 心跳线程池线程数 8
    heartbeatThreadPoolQueueCapacity int 心跳线程队列数量 50000
    highSpeedMode boolean 当前版本未使用 false
    listenPort int 服务端监听端口 10911
    longPollingEnable boolean 是否开启长轮训 true
    mapedFileSizeCommitLog int 单个conmmitlog文件大小默认1GB 1073741824
    mapedFileSizeConsumeQueue int 单个consumequeue文件大小默认30W*20表示单个Consumequeue文件中存储30W个ConsumeQueue条目 6000000
    mappedFileSizeConsumeQueueExt int ConsumeQueue扩展文件大小默认48MB 50331648
    maxDelayTime int 当前版本未使用 40
    maxErrorRateOfBloomFilter int 布隆过滤器参数 20
    maxHashSlotNum int 单个索引文件hash槽的个数,默认为五百万 5000000
    maxIndexNum int 单个索引文件索引条目的个数,默认为两千万 20000000
    maxMessageSize int 默认允许的最大消息体默认4M 4194304
    maxMsgsNumBatch int 一次查询消息最大返回消息条数,默认64条 64
    maxTransferBytesOnMessageInDisk   一次服务消息端消息拉取,消息在磁盘中传输允许的最大字节 65536
    maxTransferBytesOnMessageInMemory int 一次服务端消息拉取,消息在内存中传输允许的最大传输字节数默认256kb 262144
    maxTransferCountOnMessageInDisk int 一次消息服务端消息拉取,消息在磁盘中传输允许的最大条数,默认为8条 8
    maxTransferCountOnMessageInMemory int 一次服务消息拉取,消息在内存中传输运行的最大消息条数,默认为32条 32
    messageDelayLevel String 延迟队列等级(s=秒,m=分,h=小时) 1s 5s 10s 30s 1m 2m 3m 4m 5m 6m 7m 8m 9m 10m 20m 30m 1h 2h
    messageIndexEnable boolean 是否支持消息索引文件 true
    messageIndexSafe boolean 消息索引是否安全,默认为 false,文件恢复时选择文件检测点(commitlog.consumeque)的最小的与文件最后更新对比,如果为true,文件恢复时选择文件检测点保存的索引更新时间作为对比 false
    messageStorePlugIn String 消息存储插件地址默认为空字符串  
    namesrvAddr String nameServer地址  
    notifyConsumerIdsChangedEnable   消费者数量变化后是否立即通知RebalenceService线程,以便马上进行重新负载 true
    offsetCheckInSlave boolean 从服务器是否坚持 offset检测 false
    osPageCacheBusyTimeOutMills long putMessage锁占用超过该时间,表示 PageCache忙 1000
    pullMessageThreadPoolNums int 服务端处理消息拉取线程池线程数量 默认为16加上当前操作系统CPU核数的两倍 32
    pullThreadPoolQueueCapacity int 消息拉去线程池任务队列初始大小 100000
    putMsgIndexHightWater int 当前版本未使用 600000
    queryMessageThreadPoolNums int 服务端处理查询消息线程池数量默认为8加上当前操作系统CPU核数的两倍 16
    queryThreadPoolQueueCapacity int 查询消息线程池任务队列初始大小 20000
    redeleteHangedFileInterval int 重试删除文件间隔,配合destorymapedfileintervalforcibly 120000
    regionId String 消息区域 DefaultRegion
    registerBrokerTimeoutMills int 注册broker超时时间 6000
    registerNameServerPeriod int broker注册频率 大于1分钟为1分钟小于10秒为10秒 30000
    rejectTransactionMessage boolean 是否拒绝事物消息 false
    rocketmqHome String RocketMQ主目录 /home/rocketmq/rocketmq-all-4.3.2-bin-release
    sendMessageThreadPoolNums int 服务端处理消息发送线程池数量 1
    sendThreadPoolQueueCapacity int 消息发送线程池任务队列初始大小 10000
    serverAsyncSemaphoreValue int 异步消息发送最大并发度 64
    serverCallbackExecutorThreads int netty public任务线程池个数,netty网络设计没根据业务类型会创建不同线程池毛笔如处理发送消息,消息消费心跳检测等。如果业务类型(RequestCode)未注册线程池,则由public线程池执行 0
    serverChannelMaxIdleTimeSeconds int 网络连接最大空闲时间。如果链接空闲时间超过此参数设置的值,连接将被关闭 120
    serverOnewaySemaphoreValue int send oneway消息请求并发度 256
    serverPooledByteBufAllocatorEnable boolean ByteBuffer是否开启缓存 true
    serverSelectorThreads int IO线程池线程个数,主要是NameServer.broker端解析请求,返回相应的线程个数,这类县城主要是处理网络请求的,解析请求包。然后转发到各个业务线程池完成具体的业务无操作,然后将结果在返回调用方 3
    serverSocketRcvBufSize int netty网络socket接收缓存区大小16MB 131072
    serverSocketSndBufSize int netty网络socket发送缓存区大小16MB 131072
    serverWorkerThreads int netty业务线程池个数 8
    shortPollingTimeMills long 短轮训等待时间 1000
    slaveReadEnable boolean 从节点是否可读 false
    startAcceptSendRequestTimeStamp int   0
    storePathCommitLog String Commitlog存储目录默认为${storePathRootDir}/commitlog /home/rocketmq/store/commitlog
    storePathRootDir String broker存储目录 默认为用户的主目录/store /home/rocketmq/store
    syncFlushTimeout long 同步刷盘超时时间 5000
    traceOn boolean   true
    transactionCheckInterval long 事物回查周期 60000
    transactionCheckMax int 事物回查次数 15
    transactionTimeOut long 事物回查超时时间 6000
    transferMsgByHeap boolean 消息传输是否使用堆内存 true
    transientStorePoolEnable boolean Commitlog是否开启 transientStorePool机制,默认为 false false
    transientStorePoolSize int transientStorePool中缓存 ByteBuffer个数,默认5个 5
    useEpollNativeSelector boolean 是否启用Epoll IO模型。Linux环境建议开启 false
    useReentrantLockWhenPutMessage boolean 消息存储到commitlog文件时获取锁类型,如果为true使用ReentrantLock否则使用自旋锁 false
    useTLS boolean 是否使用安全传输层协议 false
    waitTimeMillsInHeartbeatQueue long 清理broker心跳线程等待时间 31000
    waitTimeMillsInPullQueue long 清除消息拉取线程池任务队列的等待时间。如果系统时间减去任务放入队列中的时间小于waitTimeMillsInPullQueue,本次请求任务暂时不移除该任务 5000
    waitTimeMillsInSendQueue long 清除发送线程池任务队列的等待时间。如果系统时间减去任务放入队列中的时间小于waitTimeMillsInSendQueue,本次请求任务暂时不移除该任务 200
    waitTimeMillsInTransactionQueue long 清理提交和回滚消息线程队列等待时间 3000
    warmMapedFileEnable boolean 是否温和地使用 MappedFile如果为true,将不强制将内存映射文件锁定在内存中 false
    connectWhichBroker String FilterServer连接的Broker地址  
    filterServerIP String FilterServerIP地址,默认为本地服务器IP  
    compressMsgBodyOverHowmuch int 如果消息Body超过该值则启用  
    zipCompresslevel int Zip压缩方式,默认为5,详细定义请参考java.util.Deflate中的定义  
    clientUploadFilterClassEnable boolean 是否支持客户端上传 FilterClass代码  
    filterClassRepertoryUrl String filterClass服务地址,如果 clientUploadFilterClassEnable为false,则需要提供一个地址从该服务器获取过滤类的代码  
    fsServerAsyncSemaphorevalue int FilterServer异步请求并发度,默认为2048  
    fsServerCallbackExecutorThreads int 处理回调任务的线程池数量,默认为64  
    fsServerWorkerThreads int 远程服务调用线程池数量,默认为64  
           

  • 相关阅读:
    用java批量重命名文件
    登入Tomcat Manager时出现401错误——解决方法
    bat启动/停止oracle服务
    java基本类型与字符串之间的转换
    java面向对象 要点
    理解main 方法
    第二章 变量,数据类型和运算符
    初始JAVA
    jdbcTemplate
    Aspectj
  • 原文地址:https://www.cnblogs.com/zhyg/p/10255656.html
Copyright © 2020-2023  润新知