RabbitMQ 配置文件解析优化

配置文件位置(没有则创建一个)

{rabbitmq_home}/etc/rabbitmq/rabbitmq.conf

连接配置

1
2
3
4
5
6
7
8
9
10
11
12
13
14
# 监听端口
listeners.tcp.default = 5672

# 接受TCP侦听器连接的Erlang进程数。
num_acceptors.tcp = 20

# 心跳间隔 不低于6秒
heartbeat = 60

# 最大允许的字节数 128k 保持在128k-1m之间
frame_max = 131072

# 客户端允许连接创建的 channel 大小 并发超了的时候会出现 削峰现象
channel_max = 2046

内存磁盘

1
2
3
4
5
6
7
8
9
10
# 绝对限制 内存使用限制 2GB 超过后 阻塞所有的请求
# vm_memory_high_watermark.absolute = 256MB
# 相对限制 内存使用限制 40% 超过指定比例后 阻塞所有的请求
vm_memory_high_watermark.relative = 0.4
# 内存使用限制 50% 超过指定比例后 将数据写入磁盘 以释放内存 0.4 * 0.5 = 0.2 相当于 总内存的 20%
vm_memory_high_watermark_paging_ratio = 0.5
# 磁盘使用限制 50MB
disk_free_limit.absolute = 1000000000 # 1GB
# 手动设置服务器可用的内存大小 默认不设置 由RabbitMQ自行推断
# total_memory_available_override_value = 2GB

集群

1
2
3
4
5
6
7
8
9
10
11
12
# 集群名称
cluster_name = my-cluster

# 网络分裂/分区 处理方式
# ignore 不处理
# pause_minority 节点较多的一方继续运行 较少的暂停 网络恢复后启动
# pause_if_all_down 由管理员指定的节点运行
# autoheal 分裂结束时生效,而不是在启动时生效。在网络恢复时 将自动决定获胜分裂,并且将重新启动不在获胜分裂中的所有节点。
cluster_partition_handling = ignore

# 用于集群内通信的委托进程数量 cpu 内核 * 2 - 1
delegate_count = 16

插件

1
2
3
# 管理插件 端口和IP
management.tcp.port = 15672
management.tcp.ip = 0.0.0.0
作者

Gnerv - Li Gen

发布于

2023-05-29

更新于

2023-05-29

许可协议