MQTT / device data

Fast and extendable I/O.with your agents.

Deploy CitusIO from one image on your infrastructure. Connect MQTT devices and add destinations through the public C Bridge SDK.

Use your preferred agent for installation, migration and day-to-day operations. Skills for setup, checks, upgrades and recovery are bundled in the image and available at /skills.

Which part of the workload needs attention?

Every tier is intended for real use, including production. Choose the persistence, integration and service scope your application needs.

Free permits production use. Memory-backed state disappears on restart; use application replay or select durable storage when the workload needs recovery. License and service terms.

Will your clients and protocols work here?

Check protocol version, QoS, transport and recovery before moving traffic. Verify current-source support against your installed image and configuration.

RequirementAvailable behaviorWhere to look
MQTT 3.1.1Publish/subscribe at QoS 0, 1, 2, with retained messages, Wills and session behavior.Exact MQTT profile
MQTT 5Selected properties and QoS 0, 1. Subscription Identifier and enhanced authentication remain outside this profile.Property and QoS limits
TransportTCP/TLS in Free; secure WebSocket in Pro and higher.Install and verify
RecoveryLive memory state in Free. PostgreSQL-backed broker and bridge recovery in Pro and higher.Durability skill
Device and industrial protocolsMax and Enterprise add the selected gateway and acquisition profiles below.Integration scope
Device protocols and delivery destinations

MQTT-SN (1.2); HTTPS (device ingress); CoAP (device ingress); LwM2M (1.2); Modbus TCP (daemon-owned polling); OPC UA (daemon-owned client); Sparkplug B (3.0 over MQTT); OCPP (1.6J over WSS); LoRaWAN (network server).

Use Modbus TCP and OPC UA to collect data from equipment. Check each protocol’s supported profile and configuration before connecting devices.

Configured destinations: PostgreSQL, HTTPS Webhook, MQTT, Apache Kafka, Redis Streams, ClickHouse, S3-compatible, InfluxDB, TimescaleDB, RabbitMQ / AMQP 0.9.1. The provider adapter catalog is included in Max and Enterprise. Customer-built C adapters are available in every tier.

Protocol acceptance is scoped to tested behavior. Full MQTT conformance, horizontal broker clustering and managed cloud service are outside the current claim. Machine-readable product facts.

MQTT export performance

MQTT 3.1.1 at QoS 1, measured on an Intel Core i7-3615QM with 200 connections and three physical cores.

Export rate by payload size

Measured image128 B · msg/s1 KiB · msg/s64 KiB · msg/s
CitusIO Max · Alpine80,00050,0001,000
CitusIO Max · Debian80,00050,0001,000
Mosquitto 2.1.240,00030,0001,000
EMQX 6.3.215,00015,0001,000

Memory-backed export; 30-second runs. Capacity depends on hardware and workload.

Latency and resources at 10,000 messages/s

At 10,000 messages/s: 128-byte messages over five minutes. ACK latency measures publish acknowledgement; memory is peak sampled PSS.

Measured imageACK p95ACK p99CPU timeMemory (PSS)
CitusIO Max · Alpine0.659 ms0.871 ms431.69 core-s466.9 MiB
Mosquitto 2.1.20.550 ms0.713 ms190.31 core-s8.3 MiB
EMQX 6.3.20.728 ms1.086 ms1,274.40 core-s488.1 MiB

CPU time covers the recorded collection window. See the report for measurement conditions and full results.

Operate with your preferred agent

Installing or maintaining a node?

Use the setup and operations skills for configuration, health checks, upgrades and recovery.

Read the operations workflow →

Need a destination we haven’t packaged?

Use the public C Bridge SDK to add your destination. Follow the build guide to package the adapter and verify delivery with your agent.

Build and package a bridge →