Topic router
Bound topic routing, fanout, mountpoints, and shard hints at the nginx configuration edge.
Implemented Core nginx boundaryngz_iot_router validates the topic-routing envelope exposed by nginx. Exact and wildcard subscription authority, retained replay, shared-subscription selection, and fanout live in nginz-iotd.
Configuration shape
stream {
iot_router_limits 16384 1024;
server {
iot_router on;
iot_router_mountpoint tenant/acme;
iot_router_shard_hint 0;
}
}
The enabled module requires explicit capacity and fanout bounds plus a shard hint. Invalid MQTT topic names, topic filters, and malformed $share/{group}/{filter} subscriptions fail before mutation.
Mountpoints
A mountpoint creates an explicit namespace boundary for a listener or tenant. Keep it stable across nginx and daemon configuration; changing it changes the effective topic space.
Authority boundary
The module is a configuration and readiness gate. It does not maintain the cross-worker subscription trie. Plan capacity in nginz-iotd with matching broker.max_subscriptions and broker.max_fanout values.
This page is a customer-oriented guide. The source contract remains authoritative for exact behavior and release evidence.
src/modules/iot-router-nginx-module/README.md