中间件 | 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
相关推荐
你真的可爱呀2 天前
2.Express 核心语法与路由
中间件·node.js·express
feathered-feathered2 天前
Redis【事务】(面试相关)与MySQL相比较,重点在Redis事务
android·java·redis·后端·mysql·中间件·面试
音符犹如代码2 天前
深入解析 Apollo:微服务时代的配置管理利器
java·分布式·后端·微服务·中间件·架构
武子康2 天前
Java-196 消息队列选型:RabbitMQ vs RocketMQ vs Kafka
java·分布式·kafka·rabbitmq·rocketmq·java-rocketmq·java-rabbitmq
想用offer打牌2 天前
RocketMQ如何防止消息丢失?
java·后端·架构·开源·rocketmq
IMPYLH2 天前
Lua 的 Coroutine(协程)模块
开发语言·笔记·后端·中间件·游戏引擎·lua
想用offer打牌3 天前
RocketMQ如何防止消息丢失?😯
后端·面试·rocketmq
脸大是真的好~3 天前
黑马消息队列-rabbitMQ2-生产者重连机制-生产者确认机制-数据持久化-LazyQueue-消费者确认机制-失败重试机制-重试耗尽告警手动处理-
java·缓存·中间件
闲人编程3 天前
中间件开发与生命周期管理
缓存·中间件·生命周期·日志·扩展·codecapsule
添加shujuqudong1如果未回复4 天前
用蜣螂优化(DBO)算法攻克置换流水车间调度问题
中间件