Files
go-mqtt/config-bac.yaml
2024-08-21 15:32:05 +08:00

102 lines
4.1 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# 监听端口
listeners:
- type: "tcp"
id: "file-tcp1"
address: ":1883"
- type: "ws"
id: "file-websocket"
address: ":1882"
- type: "healthcheck"
id: "file-healthcheck"
address: ":1880"
hooks:
debug:
enable: true
storage:
badger:
path: badger.db
gc_interval: 3
gc_discard_ratio: 0.5
pebble:
path: pebble.db
mode: "NoSync"
bolt:
path: bolt.db
bucket: "mochi"
redis:
h_prefix: "mc"
username: "mochi"
password: "melon"
address: "localhost:6379"
database: 1
auth:
allow_all: false
ledger:
auth:
- username: peach
password: password1
allow: true
acl:
- remote: 127.0.0.1:*
- username: melon
filters:
melon/#: 3
updates/#: 2
# MQTT协议相关参数配置
options:
# 客户端网络写缓冲区的大小,单位为字节。此配置项设置了发送数据到客户端时的缓冲区大小,设置为 2048 字节。
client_net_write_buffer_size: 2048
# 客户端网络读缓冲区的大小,单位为字节。此配置项设置了从客户端接收数据时的缓冲区大小,设置为 2048 字节。
client_net_read_buffer_size: 2048
# 系统主题消息重新发送的间隔时间,单位为秒。系统主题通常包含监控和管理信息,这个选项设定了这些信息更新的频率。
sys_topic_resend_interval: 10
# 如果设为 true客户端的操作可能会同步执行而不是异步执行。这可能影响性能但在某些情况下能简化处理逻辑。
inline_client: true
# 这些选项定义了 MQTT Broker 支持的功能及其限制。
capabilities:
# 消息过期的最大时间间隔,单位为秒。超过这个时间的消息将被丢弃。
maximum_message_expiry_interval: 100
# 允许挂起的客户端写操作的最大数量。此选项设置了在发送消息给客户端之前Broker 可以排队的最大消息数量。
maximum_client_writes_pending: 8192
# 客户端会话的最大过期时间单位为秒。这个配置决定了在客户端断开连接后Broker 会保留客户端会话状态的最大时间。
maximum_session_expiry_interval: 86400
# 接收的 MQTT 包的最大大小,单位为字节。如果设置为 0表示不限制包的大小。
maximum_packet_size: 0
# Broker 能够同时接收的最大 QoS 1 和 QoS 2 消息数量
receive_maximum: 1024
# 允许的最大“飞行中”(尚未完成确认)的消息数量。
maximum_inflight: 8192
# 允许的最大主题别名数量。主题别名用于减少传输过程中重复主题字符串的传输,特别在长主题中有助于节省带宽。
topic_alias_maximum: 65535
# 指定是否支持共享订阅1 表示支持。
shared_sub_available: 1
# 支持的最小 MQTT 协议版本。3 表示 MQTT 3.1.1。
minimum_protocol_version: 3
# 支持的最高服务质量QoS级别。2 表示 Broker 支持 QoS 0、QoS 1 和 QoS 2。
maximum_qos: 2
# 指定是否支持保留消息1 表示支持。
retain_available: 1
# 指定是否支持通配符订阅1 表示支持。
wildcard_sub_available: 1
# 指定是否支持订阅标识符1 表示支持。
sub_id_available: 1
# 这些选项是为了保持与旧版本或特殊客户端的兼容性。
compatibilities:
# 是否隐藏未授权错误的具体原因。true 表示隐藏,可能只返回一个泛泛的错误信息以提高安全性。
obscure_not_authorized: true
# 是否在客户端无响应时被动断开连接。false 表示不被动断开,可能会主动断开连接。
passive_client_disconnect: false
# 是否总是返回响应信息。false 表示只在需要时返回响应信息。
always_return_response_info: false
# 是否在重启时恢复系统信息。false 表示重启时不会恢复之前的系统状态信息。
restore_sys_info_on_restart: false
# 是否在 ACK 时不继承属性。false 表示继承属性。
no_inherited_properties_on_ack: false
logging:
level: INFO