中间件 | 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
相关推荐
yellowatumn1 小时前
RocketMq\Kafka如何保障消息不丢失?
分布式·kafka·rocketmq
HeartRaindj2 小时前
【中间件开发】kafka使用场景与设计原理
分布式·中间件·kafka
令狐掌门8 小时前
C++中间件DDS介绍
c++·中间件·c++ dds
liangblog1 天前
将RocketMQ集成到了Spring Boot项目中,实现站内信功能
spring boot·rocketmq·java-rocketmq
m0_748234522 天前
【服务治理中间件】consul介绍和基本原理
中间件·consul
m0_748239332 天前
【ROS2 中间件RMW】基于FastDDS共享内存实现ROS2跨进程零拷贝通讯
中间件
明月看潮生2 天前
青少年编程与数学 02-009 Django 5 Web 编程 17课题、中间件
python·青少年编程·中间件·django·编程与数学
m0_548049702 天前
【中间件】Pulsar集群安装
中间件
rgrgrwfe3 天前
从零到一:Spring Boot 与 RocketMQ 的完美集成指南
spring boot·rocketmq·java-rocketmq
(; ̄ェ ̄)。3 天前
在nodejs中使用RabbitMQ(七)实现生产者确认
分布式·中间件·rabbitmq