Skip to content

Broker Configuration Reference

This document describes all configuration items for the RobustMQ Broker service. For logging configuration, see Logging.md.

Overview

RobustMQ uses TOML format configuration files for system configuration. The main configuration file is config/server.toml.

Configuration Loading Priority

  1. Environment variables (highest)
  2. Configuration file
  3. Default values (lowest)

Environment Variable Override

Configuration file settings can be overridden using environment variables. Naming convention:

text
ROBUST_MQ_SERVER_{SECTION}_{KEY}
  • Top-level items: ROBUST_MQ_SERVER_{KEY}
  • Section items: ROBUST_MQ_SERVER_{SECTION}_{KEY}
  • All letters uppercase, . replaced with _

Examples:

bash
export ROBUST_MQ_SERVER_CLUSTER_NAME="my-cluster"
export ROBUST_MQ_SERVER_MQTT_SERVER_TCP_PORT=1883
export ROBUST_MQ_SERVER_PROMETHEUS_PORT=9091

1. Basic Configuration

Top-level configuration items defining cluster and node information.

toml
cluster_name = "robust_mq_cluster_default"
broker_id = 1
broker_ip = "127.0.0.1"
roles = ["broker", "meta"]
grpc_port = 1228
http_port = 58080

[meta_addrs]
1 = "127.0.0.1:1228"
ConfigurationTypeDefaultDescription
cluster_namestring"robust_mq_cluster_default"Cluster name, must be identical across all nodes
broker_idu641Unique node identifier
broker_ipstringAuto-detect local IPNode IP address
rolesarray["broker", "meta"]Node role list, options: meta, broker, engine
grpc_portu321228gRPC service port
http_portu3258080HTTP API service port
meta_addrstable{1 = "127.0.0.1:1228"}Meta node address mapping, key is node ID, value is IP:port

Deployment Modes

  • Integrated deployment: roles = ["meta", "broker", "engine"]
  • Separated deployment:
    • Meta nodes: roles = ["meta"]
    • Broker nodes: roles = ["broker"]
    • Engine nodes: roles = ["engine"]

2. Runtime Configuration

[runtime]

Tokio runtime and TLS configuration. RobustMQ uses three independent Tokio runtimes internally, each serving a distinct role that can be tuned separately.

toml
[runtime]
tls_cert = "./config/certs/cert.pem"
tls_key = "./config/certs/key.pem"
# Worker threads per runtime, 0 = auto (recommended)
# server_worker_threads = 0
# meta_worker_threads = 0
# broker_worker_threads = 0
# runtime_worker_threads = 1  # Legacy compat field, prefer per-runtime fields
# pprof_enable = false
ConfigurationTypeDefaultDescription
tls_certstring"./config/certs/cert.pem"TLS certificate file path
tls_keystring"./config/certs/key.pem"TLS private key file path
server_worker_threadsusize0 (auto)server-runtime worker threads, auto = max(4, CPU / 2)
meta_worker_threadsusize0 (auto)meta-runtime worker threads, auto = max(4, CPU / 2)
broker_worker_threadsusize0 (auto)broker-runtime worker threads, auto = CPU cores
runtime_worker_threadsusize1Legacy global thread multiplier, used as fallback when per-runtime fields are 0
pprof_enableboolfalseEnable built-in pprof profiling collection (no separate port required)

Runtime Roles:

RuntimeResponsibilitiesDefault Threads
server-runtimegRPC service, HTTP Admin API, Prometheus metricsmax(4, CPU/2)
meta-runtimeRaft state machines, RocksDB writesmax(4, CPU/2)
broker-runtimeMQTT connection handling, message delivery hot pathCPU cores

Tuning tip: Keep the default 0. Use the tokio_runtime_busy_ratio metric in Grafana to guide adjustments: if a runtime's busy ratio consistently exceeds 80%, consider increasing its thread count.


4. Meta Runtime Configuration

[meta_runtime]

Metadata service heartbeat and Raft configuration.

toml
[meta_runtime]
heartbeat_timeout_ms = 30000
heartbeat_check_time_ms = 1000
raft_write_timeout_sec = 30
offset_raft_group_num = 1
data_raft_group_num = 1
group_offset_expire_sec = 604800
ConfigurationTypeDefaultDescription
heartbeat_timeout_msu6430000Node heartbeat timeout (ms); node marked unavailable after timeout
heartbeat_check_time_msu641000Heartbeat check interval (ms)
raft_write_timeout_secu6430Raft write operation timeout (seconds)
offset_raft_group_numu321Number of Offset Raft groups
data_raft_group_numu321Number of Data Raft groups
group_offset_expire_secu64604800Consumer group offset expiry time (seconds), default 7 days

5. RocksDB Configuration

[rocksdb]

Local RocksDB storage configuration.

toml
[rocksdb]
data_path = "./data"
max_open_files = 10000
ConfigurationTypeDefaultDescription
data_pathstring"./data"RocksDB data storage directory
max_open_filesi3210000Maximum simultaneously open files

6. Storage Engine Runtime Configuration

[storage_runtime]

Journal storage engine runtime configuration.

toml
[storage_runtime]
tcp_port = 1778
max_segment_size = 1073741824
io_thread_num = 8
data_path = []
expire_scan_task_num = 10

[storage_runtime.network]
accept_thread_num = 2
handler_thread_num = 16
queue_size = 1000
ConfigurationTypeDefaultDescription
tcp_portu321778Storage engine TCP port
max_segment_sizeu321073741824 (1 GB)Maximum segment file size (bytes)
io_thread_numu328IO processing thread count
data_patharray[]Data storage path list
expire_scan_task_numusize10Concurrent expired data scan tasks

[storage_runtime.network] network thread configuration:

ConfigurationTypeDefaultDescription
accept_thread_numusize2Threads for accepting new connections
handler_thread_numusize16Request handler thread count
queue_sizeusize1000Internal processing queue size

6a. Kafka Runtime Configuration

[kafka_runtime]

Kafka protocol service configuration.

toml
[kafka_runtime]
tcp_port = 9095
ConfigurationTypeDefaultDescription
tcp_portu329095Kafka protocol TCP listener port

6b. AMQP Runtime Configuration

[amqp_runtime]

AMQP protocol service configuration.

toml
[amqp_runtime]
tcp_port = 5672
ConfigurationTypeDefaultDescription
tcp_portu325672AMQP protocol TCP listener port

7. Message Storage Configuration

[message_storage]

Message persistence storage backend configuration.

toml
[message_storage]
storage_type = "EngineMemory"
ConfigurationTypeDefaultDescription
storage_typestring"EngineMemory"Storage type

Available storage types:

ValueDescription
EngineMemoryIn-memory storage (data lost on restart, suitable for testing)
EngineSegmentSegment-based storage engine
EngineRocksDBRocksDB-based local storage
MysqlMySQL database storage
MinIOMinIO object storage
S3AWS S3 object storage

Depending on the selected storage_type, configure the corresponding sub-items:

memory_config (optional for EngineMemory):

ConfigurationTypeDefaultDescription
max_records_per_shardusize1000Maximum records per shard
max_shard_size_limitusize10000000Maximum total size per shard

mysql_config (for Mysql):

ConfigurationTypeDefaultDescription
mysql_addrstring""MySQL database address

minio_config (for MinIO):

ConfigurationTypeDefaultDescription
data_dirstring""MinIO data directory
bucketstring""MinIO bucket name

s3_config (for S3):

ConfigurationTypeDefaultDescription
endpointstring""S3 endpoint address
bucketstring""S3 bucket name
regionstring""S3 region
access_keystring""Access key
secret_keystring""Secret key
enable_virtual_host_styleboolfalseWhether to use virtual host style access

8. Offset Storage Configuration

[storage_offset]

Message consumption offset cache configuration.

toml
[storage_offset]
enable_cache = true
ConfigurationTypeDefaultDescription
enable_cachebooltrueWhether to enable offset caching

9. MQTT Server Configuration

[mqtt_server]

MQTT protocol listener port configuration.

toml
[mqtt_server]
tcp_port = 1883
tls_port = 1885
websocket_port = 8083
websockets_port = 8085
quic_port = 9083
ConfigurationTypeDefaultDescription
tcp_portu321883MQTT over TCP port
tls_portu321885MQTT over TLS port
websocket_portu328083MQTT over WebSocket port
websockets_portu328085MQTT over WebSocket Secure port
quic_portu329083MQTT over QUIC port

10. MQTT Runtime Configuration

[mqtt_runtime]

MQTT runtime basic parameters.

toml
[mqtt_runtime]
default_user = "admin"
default_password = "robustmq"
durable_sessions_enable = false
secret_free_login = false
is_self_protection_status = false

[mqtt_runtime.network]
accept_thread_num = 2
handler_thread_num = 16
queue_size = 1000
ConfigurationTypeDefaultDescription
default_userstring"admin"System default username
default_passwordstring"robustmq"System default password
durable_sessions_enableboolfalseWhether to enable durable sessions (false for transient sessions, better performance)
secret_free_loginboolfalseWhether to allow password-free login
is_self_protection_statusboolfalseWhether to enable self-protection mode (reject new connections under overload)

[mqtt_runtime.network] network thread configuration:

ConfigurationTypeDefaultDescription
accept_thread_numusize2Threads for accepting new connections
handler_thread_numusize16Request handler thread count
queue_sizeusize1000Internal processing queue size

11. MQTT Keep Alive Configuration

[mqtt_keep_alive]

MQTT heartbeat keep-alive configuration.

toml
[mqtt_keep_alive]
enable = true
default_time = 180
max_time = 3600
default_timeout = 2
ConfigurationTypeDefaultDescription
enablebooltrueWhether to enable Keep Alive heartbeat detection
default_timeu16180Default heartbeat interval (seconds)
max_timeu163600Maximum heartbeat interval (seconds)
default_timeoutu162Disconnect after this many consecutive timeouts

12. MQTT Protocol Configuration

[mqtt_protocol]

MQTT protocol parameter configuration.

toml
[mqtt_protocol]
max_session_expiry_interval = 1800
default_session_expiry_interval = 30
topic_alias_max = 65535
max_packet_size = 10485760
receive_max = 65535
max_message_expiry_interval = 3600
client_pkid_persistent = false
ConfigurationTypeDefaultDescription
max_session_expiry_intervalu321800Maximum session expiry time (seconds)
default_session_expiry_intervalu3230Default session expiry time (seconds)
topic_alias_maxu1665535Maximum number of topic aliases
max_packet_sizeu3210485760 (10 MB)Maximum MQTT packet size (bytes)
receive_maxu1665535Maximum unacknowledged PUBLISH packets
max_message_expiry_intervalu643600Maximum message expiry time (seconds)
client_pkid_persistentboolfalseWhether to persist client Packet IDs

13. Rate Limiting Configuration

[limit]

Cluster and tenant level resource rate limiting configuration.

toml
[limit.cluster]
max_connections_per_node = 10000000
max_connection_rate = 100000
max_topics = 5000000
max_sessions = 50000000
max_publish_rate = 10000

[limit.tenant]
max_connections_per_node = 1000000
max_connection_rate = 10000
max_topics = 500000
max_sessions = 5000000
max_publish_rate = 10000
FieldTypeDescription
max_connections_per_nodeu64Maximum connections per node
max_connection_rateu32Maximum new connection rate per second
max_topicsu64Maximum number of topics
max_sessionsu64Maximum number of sessions
max_publish_rateu32Maximum publish message rate per second

15. MQTT Offline Message Configuration

[mqtt_offline_message]

Message storage configuration for offline clients.

toml
[mqtt_offline_message]
enable = true
expire_ms = 0
max_messages_num = 0
ConfigurationTypeDefaultDescription
enablebooltrueWhether to enable offline messages
expire_msu320Offline message expiry time (ms), 0 means no expiry
max_messages_numu320Maximum offline messages per client, 0 means unlimited

16. MQTT Flapping Detection Configuration

[mqtt_flapping_detect]

Detect clients that connect/disconnect frequently (flapping) and auto-ban them.

toml
[mqtt_flapping_detect]
enable = false
window_time = 1
max_client_connections = 15
ban_time = 5
ConfigurationTypeDefaultDescription
enableboolfalseWhether to enable flapping detection
window_timeu321Detection time window (seconds)
max_client_connectionsu6415Maximum connection attempts within the time window
ban_timeu325Ban duration after triggering flapping (seconds)

17. MQTT Slow Subscribe Detection Configuration

[mqtt_slow_subscribe]

Slow subscription monitoring for detecting message delivery delays.

toml
[mqtt_slow_subscribe]
enable = false
record_time = 1000
delay_type = "Whole"
ConfigurationTypeDefaultDescription
enableboolfalseWhether to enable slow subscribe detection
record_timeu641000Slow subscribe threshold (milliseconds)
delay_typestring"Whole"Delay calculation type: Whole (end-to-end), Partial (partial)

18. MQTT Schema Validation Configuration

[mqtt_schema]

Message Schema validation configuration.

toml
[mqtt_schema]
enable = true
strategy = "ALL"
failed_operation = "Discard"
echo_log = true
log_level = "info"
ConfigurationTypeDefaultDescription
enablebooltrueWhether to enable Schema validation
strategystring"ALL"Validation strategy
failed_operationstring"Discard"Operation when validation fails
echo_logbooltrueWhether to output Schema validation logs
log_levelstring"info"Schema validation log level

Validation strategies (strategy):

  • ALL: Message must pass all bound Schema validations
  • Any: Message only needs to pass any one Schema validation

Failed operations (failed_operation):

  • Discard: Discard messages that fail validation
  • DisconnectAndDiscard: Disconnect and discard messages
  • Ignore: Ignore validation failures and continue processing

19. MQTT System Monitor Configuration

[mqtt_system_monitor]

System resource monitoring configuration.

toml
[mqtt_system_monitor]
enable = false
os_cpu_high_watermark = 70.0
os_memory_high_watermark = 80.0
system_topic_interval_ms = 60000
ConfigurationTypeDefaultDescription
enableboolfalseWhether to enable system resource monitoring
os_cpu_high_watermarkf3270.0CPU usage high watermark (%)
os_memory_high_watermarkf3280.0Memory usage high watermark (%)
system_topic_interval_msu6460000System topic metrics publish interval (milliseconds)

19b. Delay Task Configuration

[delay_task]

Delayed message processing task queue configuration.

toml
[delay_task]
delay_task_queue_num = 100
delay_task_handler_concurrency = 100
ConfigurationTypeDefaultDescription
delay_task_queue_numusize100Number of delay task queues
delay_task_handler_concurrencyusize100Delay task handler concurrency

19c. NATS Runtime Configuration

[nats_runtime]

NATS/mq9 protocol service configuration.

toml
[nats_runtime]
tcp_port = 4222
tls_port = 4223
ws_port = 4080
wss_port = 4443
max_payload = 1048576
auth_required = false
ping_interval = 60
ping_max = 3
ping_send_chunk = 10000
core_shard_num = 10
push_thread_num = 1
push_queue_thread_num = 10
mq9_mailbox_default_ttl = 86400
ConfigurationTypeDefaultDescription
tcp_portu324222NATS TCP listener port
tls_portu324223NATS TLS listener port
ws_portu324080NATS WebSocket listener port
wss_portu324443NATS WebSocket Secure listener port
max_payloadu641048576 (1 MB)Maximum payload size per message (bytes)
auth_requiredboolfalseWhether to require client authentication
ping_intervalu6460Server-initiated PING interval (seconds)
ping_maxu643Maximum unanswered PINGs before connection is closed
ping_send_chunkusize10000Connections processed per batch when sending PINGs
core_shard_numusize10Number of internal core shards
push_thread_numusize1Direct-push thread count (one per bucket)
push_queue_thread_numusize10Queue-push thread count (one per queue-group bucket)
mq9_mailbox_default_ttlu6486400Default TTL for mq9 mailboxes when client does not specify one (seconds)

19d. Broker Network Configuration

[broker_network]

Broker internal general network thread configuration.

toml
[broker_network]
accept_thread_num = 2
handler_thread_num = 16
queue_size = 1000
ConfigurationTypeDefaultDescription
accept_thread_numusize2Threads for accepting new connections
handler_thread_numusize16Request handler thread count
queue_sizeusize1000Internal processing queue size

20. gRPC Client Configuration

[grpc_client]

Controls the connection pool behavior of the Broker's internal gRPC client. RobustMQ uses HTTP/2 for inter-node communication. Each Channel is an independent TCP connection that supports multiplexing.

toml
[grpc_client]
channels_per_address = 4
ConfigurationTypeDefaultDescription
channels_per_addressusize4Number of HTTP/2 Channels maintained per gRPC server address

Tuning Guide:

Each HTTP/2 Channel supports approximately 200 concurrent Streams (concurrent RPC requests). The default value of 4 supports approximately 800 concurrent gRPC requests, covering the vast majority of production scenarios.

ScenarioRecommended Value
Default / general production4
High concurrency (tens of thousands of MQTT connections)8 ~ 16
Extreme concurrency / stress testing32

Note: Setting this value too high causes a surge in open TCP file descriptors (each Channel occupies one fd). In environments with a low ulimit -n, this may trigger Too many open files.

Environment variable:

bash
export ROBUST_MQ_SERVER_GRPC_CLIENT_CHANNELS_PER_ADDRESS=8

21. LLM Client Configuration

[llm_client]

Configures the Broker's unified LLM client (LLMClient). This section is optional. If omitted, the LLM client is not enabled.

toml
[llm_client]
platform = "open_ai"
model = "gpt-4o-mini"
token = "your_api_token"
# Optional: useful for OpenAI-compatible gateways or private deployments
# base_url = "https://api.openai.com/v1/"
# embedding = "text-embedding-3-small"
# embedding_model_path = "./models/embedding"
ConfigurationTypeDefaultDescription
platformstringnoneLLM provider identifier
modelstringnoneModel name, e.g. gpt-4o-mini, claude-3-5-sonnet, gemini-2.0-flash
tokenstringnoneAccess token. Required for all providers except ollama
base_urlstringnoneCustom API base URL (optional)
embeddingstringnoneEmbedding model name (optional)
embedding_model_pathstringnoneLocal embedding model file path (optional)

base_url behavior (important):

  • If base_url is omitted, genai uses the provider's default official endpoint.
  • Set base_url when using a proxy gateway, an OpenAI-compatible service, private deployment, or internal routing.
  • For ollama, if omitted, the default is http://localhost:11434/v1/.

Default endpoint behavior when base_url is omitted:

platformCan omit base_urlDefault endpoint
open_ai / open_ai_respyesOpenAI official
geminiyesGoogle Gemini official
anthropicyesAnthropic official
cohereyesCohere official
xaiyesxAI official
deep_seekyesDeepSeek official
groq / together / fireworks / nebius / mimo / zai / big_modelyesEach provider official
ollamayeshttp://localhost:11434/v1/

Allowed platform values:

  • open_ai, open_ai_resp, gemini, anthropic, fireworks, together, groq
  • mimo, nebius, xai, deep_seek, zai, big_model, cohere, ollama

Environment variable example:

bash
export ROBUST_MQ_SERVER_LLM_CLIENT_PLATFORM=open_ai
export ROBUST_MQ_SERVER_LLM_CLIENT_MODEL=gpt-4o-mini
export ROBUST_MQ_SERVER_LLM_CLIENT_TOKEN=your_api_token

22. Admin HTTP API Authentication

[admin]

Authentication configuration for the Admin HTTP API. See API Authentication for details.

toml
[admin]
username = "admin"
password = "admin"
jwt_secret = "robustmq-change-me-in-production"
token_ttl_hours = 8
FieldTypeDefaultDescription
usernamestring"admin"Admin username
passwordstring"admin"Admin password — change this in production
jwt_secretstring"robustmq-change-me-in-production"HMAC-SHA256 secret used to sign JWT tokens — use a random string of 32+ chars in production
token_ttl_hoursu648Token validity period in hours

⚠️ Security notice: The default password and jwt_secret values are insecure. Always change them before deploying to production.

Auth rules:

  • Requests from 127.0.0.1 / ::1 (loopback): no token required, allowed through directly
  • Requests from any other IP: must include Authorization: Bearer <token>
  • /api/v1/login, /health/*, /metrics: always public, no auth required

23. Monitoring Configuration

[prometheus]

Prometheus metrics exposure configuration.

toml
[prometheus]
enable = true
port = 9090
ConfigurationTypeDefaultDescription
enablebooltrueWhether to enable Prometheus metrics collection
portu329090Prometheus metrics exposure port

[pprof]

PProf performance profiling configuration.

toml
[pprof]
enable = false
port = 6060
frequency = 100
ConfigurationTypeDefaultDescription
enableboolfalseWhether to enable PProf profiling
portu166060PProf service port
frequencyi32100Sampling frequency

Complete Configuration Example

toml
# ========== Basic Configuration ==========
cluster_name = "production-cluster"
broker_id = 1
roles = ["meta", "broker", "engine"]
grpc_port = 1228
http_port = 58080

[meta_addrs]
1 = "192.168.1.10:1228"
2 = "192.168.1.11:1228"
3 = "192.168.1.12:1228"

# ========== Runtime ==========
[runtime]
tls_cert = "./config/certs/cert.pem"
tls_key = "./config/certs/key.pem"
# server_worker_threads = 0
# meta_worker_threads = 0
# broker_worker_threads = 0

# ========== Meta ==========
[meta_runtime]
heartbeat_timeout_ms = 30000
heartbeat_check_time_ms = 1000
raft_write_timeout_sec = 30
offset_raft_group_num = 1
data_raft_group_num = 1
group_offset_expire_sec = 604800

# ========== RocksDB ==========
[rocksdb]
data_path = "/data/robustmq"
max_open_files = 20000

# ========== Storage Engine ==========
[storage_runtime]
tcp_port = 1778
max_segment_size = 1073741824
io_thread_num = 8
expire_scan_task_num = 10

[storage_runtime.network]
accept_thread_num = 2
handler_thread_num = 16
queue_size = 1000

# ========== Kafka Runtime ==========
[kafka_runtime]
tcp_port = 9095

# ========== AMQP Runtime ==========
[amqp_runtime]
tcp_port = 5672

# ========== NATS Runtime ==========
[nats_runtime]
tcp_port = 4222
tls_port = 4223
ws_port = 4080
wss_port = 4443
max_payload = 1048576
auth_required = false
ping_interval = 60
ping_max = 3
mq9_mailbox_default_ttl = 86400

# ========== Delay Task ==========
[delay_task]
delay_task_queue_num = 100
delay_task_handler_concurrency = 100

# ========== Message Storage ==========
[message_storage]
storage_type = "EngineMemory"

# ========== Offset Cache ==========
[storage_offset]
enable_cache = true

# ========== MQTT Server ==========
[mqtt_server]
tcp_port = 1883
tls_port = 1885
websocket_port = 8083
websockets_port = 8085
quic_port = 9083

# ========== MQTT Runtime ==========
[mqtt_runtime]
default_user = "admin"
default_password = "your_secure_password"
durable_sessions_enable = false
secret_free_login = false
is_self_protection_status = false

[mqtt_runtime.network]
accept_thread_num = 2
handler_thread_num = 16
queue_size = 1000

# ========== MQTT Keep Alive ==========
[mqtt_keep_alive]
enable = true
default_time = 180
max_time = 3600
default_timeout = 2

# ========== MQTT Protocol ==========
[mqtt_protocol]
max_session_expiry_interval = 1800
default_session_expiry_interval = 30
topic_alias_max = 65535
max_packet_size = 10485760
receive_max = 65535
max_message_expiry_interval = 3600
client_pkid_persistent = false

# ========== MQTT Offline Messages ==========
[mqtt_offline_message]
enable = true
expire_ms = 0
max_messages_num = 0

# ========== MQTT Flapping Detection ==========
[mqtt_flapping_detect]
enable = false
window_time = 1
max_client_connections = 15
ban_time = 5

# ========== MQTT Slow Subscribe ==========
[mqtt_slow_subscribe]
enable = false
record_time = 1000
delay_type = "Whole"

# ========== MQTT Schema ==========
[mqtt_schema]
enable = true
strategy = "ALL"
failed_operation = "Discard"
echo_log = true
log_level = "info"

# ========== MQTT System Monitor ==========
[mqtt_system_monitor]
enable = false
os_cpu_high_watermark = 70.0
os_memory_high_watermark = 80.0
system_topic_interval_ms = 60000

# ========== Monitoring ==========
[prometheus]
enable = true
port = 9090

[pprof]
enable = false
port = 6060
frequency = 100

# ========== gRPC Client ==========
[grpc_client]
channels_per_address = 4

# ========== LLM Client (optional) ==========
[llm_client]
platform = "open_ai"
model = "gpt-4o-mini"
token = "your_api_token"
# base_url = "https://api.openai.com/v1/"
# embedding = "text-embedding-3-small"
# embedding_model_path = "./models/embedding"

# ========== Admin Authentication ==========
[admin]
username = "admin"
password = "your_secure_password"
jwt_secret = "your-random-jwt-secret-32-chars-min"
token_ttl_hours = 8

# ========== Logging ==========
[log]
log_config = "./config/broker-tracing.toml"
log_path = "./logs"
🎉 既然都登录了 GitHub,不如顺手给我们点个 Star 吧!⭐ 你的支持是我们最大的动力 🚀