Session service
Configure bounded MQTT session, expiry, offline queue, and inflight delivery limits.
Implemented Core nginx boundaryngz_iot_session is the nginx-facing boundary for persistent sessions and delivery state. nginz-iotd remains authoritative for reconnects, expiry, offline queues, Wills, and QoS 1 retry.
Configuration shape
stream {
iot_session_capacity 100000;
server {
iot_session on;
iot_session_limits 86400 1024 64;
}
}
Use values appropriate for the licensed lane and available durable storage. Nginx rejects enabled session service without explicit bounded expiry, offline-queue, inflight-QoS, and total-session limits.
Durability
Free uses memory state and does not promise recovery. Pro and higher lanes coordinate session mutations with the PostgreSQL store and broker frontier before publishing durable acknowledgements.
MQTT boundary
The current-source profile covers clean start, persistent reconnect, Session Expiry, Will Delay, bounded offline replay, Receive Maximum, QoS 1 retry/PUBACK and MQTT 3.1.1 QoS 2 ownership/exchanges. MQTT 5 keeps its declared QoS 0/1 ceiling. Verify the installed image and selected memory/durable recovery profile.
See MQTT profile for the selected property subset and payload ceiling. Inspect live sessions from the operator console or the operator CLI (ngz-iot sessions).
This page is a customer-oriented guide. The source contract remains authoritative for exact behavior and release evidence.
src/modules/iot-session-nginx-module/README.md