Broker / Nginx modules

Topic router

Bound topic routing, fanout, mountpoints, and shard hints at the nginx configuration edge.

Implemented Core nginx boundary

ngz_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.

Implementation authority

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