| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134 |
- ## MQTT protocol related settings
- ## Settings in this section is applied globally to all MQTT connections/sessions in this node
- mqtt {
- ## After the TCP connection is established,
- ## if the MQTT CONNECT packet from the client is not received within the time specified by idle_timeout, the connection will be disconnected
- ## Type:
- ## - infinity :: Never disconnect
- ## - Time Duration :: The idle time
- idle_timeout = 15s
- ## Maximum MQTT packet size allowed
- max_packet_size = 1MB
- ## Maximum allowed length of MQTT Client ID
- ## Type: Rnage from 23 to 65535
- max_clientid_len = 65535
- ## Maximum topic levels allowed
- ## Type: Range from 1 to 65535
- max_topic_levels = 128
- ## Maximum QoS allowed
- max_qos_allowed = 2
- ## Maximum topic alias, 0 means no topic alias supported
- ## Type: Range from 0 to 65535
- max_topic_alias = 65535
- ## Whether to enable support for MQTT retained message
- retain_available = true
- ## Whether to enable support for MQTT wildcard subscription
- wildcard_subscription = true
- ## Whether to enable support for MQTT shared subscription
- shared_subscription = true
- ## Whether to enable support for MQTT exclusive subscription
- exclusive_subscription = false
- ## Ignore loop delivery of messages for MQTT v3.1.1/v3.1.0, similar to No Local subscription option in MQTT 5.0
- ignore_loop_deliver = false
- ## Parse MQTT messages in strict mode.
- ## When set to true, invalid utf8 strings in for example client ID, topic name, etc. will cause the client to be disconnected
- strict_mode = false
- ## Specify the response information returned to the client
- response_information = ""
- ## The keep alive that EMQX requires the client to use
- ## Type:
- ## - disabled :: the keep alive specified by the client will be used
- ## - Integer :: Keepalive time, only applicable to clients using MQTT 5.0 protocol
- server_keepalive = disabled
- ## Keep-Alive Timeout = Keep-Alive interval × Keep-Alive Multiplier
- keepalive_multiplier = 1.5
- ## Maximum number of subscriptions allowed per client
- ## Type: infinity | Integer
- max_subscriptions = infinity
- ## Force upgrade of QoS level according to subscription
- upgrade_qos = false
- ## Maximum number of QoS 1 and QoS 2 messages that are allowed to be delivered simultaneously before completing the acknowledgment
- ## Type: Range from 1 to 65535
- max_inflight = 32
- ## Retry interval for QoS 1/2 message delivering
- retry_interval = 30s
- ## For each publisher session, the maximum number of outstanding QoS 2 messages pending on the client to send PUBREL
- ## Type: infinity | Integer
- max_awaiting_rel = 100
- ## For client to broker QoS 2 message, the time limit for the broker to wait before the PUBREL message is received
- await_rel_timeout = 300s
- ## Specifies how long the session will expire after the connection is disconnected, only for non-MQTT 5.0 connections
- session_expiry_interval = 2h
- ## The expiry interval of MQTT messages.
- ##
- ## For MQTT 5.0 clients, this configuration will only take effect when the
- ## Message-Expiry-Interval property is not set in the message; otherwise, the
- ## value of the Message-Expiry-Interval property will be used.
- ## For MQTT versions older than 5.0, this configuration will always take effect.
- ## Please note that setting message_expiry_interval greater than session_expiry_interval
- ## is meaningless, as all messages will be cleared when the session expires.
- ##
- ## Type:
- ## - infinity :: Never expire
- ## - Time Duration :: The expiry interval
- ## Default: infinity
- message_expiry_interval = infinity
- ## Maximum queue length. Enqueued messages when persistent client disconnected, or inflight window is full
- ## Type: infinity | Integer
- max_mqueue_len = 1000
- ## Specifies whether to store QoS 0 messages in the message queue while the connection is down but the session remains
- mqueue_store_qos0 = true
- ## Whether to user Client ID as Username
- use_username_as_clientid = false
- ## Use the CN, DN field in the peer certificate or the entire certificate content as Username
- ## Type:
- ## - disabled
- ## - cn :: CN field of the certificate
- ## - dn :: DN field of the certificate
- ## - crt :: the content of the DER or PEM certificate
- ## - pem :: PEM format content converted from DER certificate content
- ## - md5 :: the MD5 value of the content of the DER or PEM certificate
- peer_cert_as_username = disabled
- ## Use the CN, DN field in the peer certificate or the entire certificate content as Client ID
- ## Type: See the above
- peer_cert_as_clientid = disabled
- ## Dispatch strategy for shared subscription
- ## Type:
- ## - random :: dispatch the message to a random selected subscriber
- ## - round_robin :: select the subscribers in a round-robin manner
- ## - round_robin_per_group :: select the subscribers in round-robin fashion within each shared subscriber group
- ## - local :: select random local subscriber otherwise select random cluster-wide
- ## - sticky :: always use the last selected subscriber to dispatch, until the subscriber disconnects.
- ## - hash_clientid :: select the subscribers by hashing the `clientIds`
- ## - hash_topic :: select the subscribers by hashing the source topic"""
- shared_subscription_strategy = round_robin
- }
|