中间件 | RocketMq - [broker 配置]

INDEX

broker.conf

干货见注释

properties 复制代码
### 集群名
brokerClusterName=DefaultCluster

### nameserver
# nameserver 地址
namesrvAddr=192.168.3.76:9876

### broker
# broker名,同名则主从
brokerName=a-m
# broker id,唯一
brokerId=0
# borker 端口
listenPort=10911
# broker 的 ip,可以自动识别,多网卡等场景可以手动指定
#brokerIP1=172.18.14.4
# broker 角色,ASYNC_MASTER / SYNC_MASTER / SLAVE
brokerRole=ASYNC_MASTER
# 刷盘类型,ASYNC_FLUSH / SYNC_FLUSH
flushDiskType=ASYNC_FLUSH

### 开关
# 能否自动创建 topic
autoCreateTopicEnable=true
# 能否自动创建订阅组
autoCreateSubscriptionGroup=true
# 是否接受权限控制,权限相关配置见 ~/conf/plain_acl.yml
aclEnable=true
# 是否允许追踪消息
traceTopicEnable=true

### 存储路径
# 存储根路径
storePathRootDir=/data/rocketmq-4.9.4/store/a-m
# 存储 commit log 的路径,生产者发送的各个 topic 的消息信息,文件名是数字,此数字是此文件第一个字符在所有消息中索引
storePathCommitLog=${storePathRootDir}/commitlog
# 存储 consume queue 的路径,相当于 commit log 的聚簇索引,其下目录结构 ~/topic_name/queue_id/queue文件
# 每个文件 30w 条记录,每条 20字节, 每条记录结构:commitlog 物理偏移量(8B),消息长度(4B),tag hash值(8B)
storePathConsumerQueue=${storePathRootDir}/consumequeue
# 存储消息索引的路径,相当于 commit log 基于 key 的散列索引,文件名即创建时间戳,一个文件记满后会创建新的,因此hash槽是重的
# 每个文件由 3 部分组成,因此文件大小是固定的,
#   头:40B
#   hash 槽:500w * 4B,每个消息靠消息 key 的 hash%500w 计算 hash 槽,里面存对应索引项的偏移量
#   索引项:2000w * 20B,结构为:key hash(4B),commit log偏移量(8B),时间偏移量(4B),下一个索引项指针(4B)
#   hash 冲突时,槽会指向新索引项,并由下一个索引项指针指向原索引项,因此,整个文件其实就是个hashmap,大小固定是为了方便计算偏移
storePathIndex=${storePathRootDir}/index
# 存储检查点的路径,commitLog、ConsumeQueue、Index文件的刷盘时间点,broker异常结束恢复后,会按此数据恢复
storeCheckpoint=${storePathRootDir}/checkpoint

### 磁盘清理
# 磁盘文件空间充足情况下,默认每天什么时候执行删除过期文件
deleteWhen=04
# CommitLog、ConsumeQueue 文件以偏移量命名。这些文件若超过了此参数配置的时间(单位小时)则认为是过期文件,随时可以删除
fileReservedTime=48
相关推荐
眠りたいです15 小时前
LangChainv1:agent快速上手与中间件认识
人工智能·python·中间件·langchain·langgraph
Web打印16 小时前
HttpPrinter Web打印中间件 wiki.httpprinter.com 知识库内容总结
前端·中间件
我是一颗柠檬2 天前
【Java项目技术亮点】分布式锁实现与优化:从Redisson到ZooKeeper,彻底搞懂分布式锁的底层原理
java·redis·分布式·中间件·java-zookeeper
cfm_29142 天前
RocketMQ源码深度解析(三)消息持久化机制
rocketmq
Trouvaille ~2 天前
【Redis篇】Redis 哨兵(Sentinel):高可用自动故障转移
数据库·redis·缓存·中间件·sentinel·高可用·哨兵
constCpp3 天前
深入理解内存管理
后端·中间件·架构
愚公搬代码3 天前
【愚公系列】《移动端AI应用开发》014-DeepSeek API开发与集成(处理多轮对话与动态请求)
人工智能·中间件·架构
Trouvaille ~4 天前
【Redis篇】Redis 主从复制:数据同步的原理与实现
数据库·redis·缓存·中间件·高可用·主从复制·后端开发
唔664 天前
(二)补充完整的数据库、中间件、MQTT、JAR后台和Web前端的部署脚本,全部一键自动化。
数据库·中间件·jar
愚公搬代码4 天前
【愚公系列】《移动端AI应用开发》013-DeepSeek API开发与集成(深度集成与中间件架构)
人工智能·中间件·架构