One of the biggest pain points in using Protobuf with MQTT is the rigidity of the message types. In a standard setup, if you want to change a schema, you often have to rebuild and restart the broker. Not with ProtoMQ.
We've just implemented an optional HTTP Admin Server that brings operational visibility and hot-schema updates to the broker without touching the "hot-path" of message routing.
What’s New?
- Dynamic Schema Registry: You can now register
.protofiles at runtime viaPOST /api/v1/schemas. This allows the broker to start decoding new message types instantly without a restart. - Live Telemetry: A new
/metricsendpoint provides JSON-based visibility into active client connections and total messages routed. - Zero-Overhead footprint: True to the project's goal of running on the smallest embedded targets, this server is strictly conditional. By using Zig's build system (
-Dadmin_server=true), you can choose to include it for development or larger controllers, while stripping it entirely for tiny edge devices. - Shared Event Loop: To ensure zero jitter in MQTT delivery, the Admin Server runs on the same non-blocking
IOContextevent loop as the broker. No threading overhead, just cooperative multitasking.
Why this matters for IoT?
Debugging a distributed fleet of sensors is hard enough. By adding standard HTTP-based monitoring and schema management, we've made ProtoMQ ready for production environments where "set and forget" isn't an option, all while maintaining our sub-millisecond latency targets.
gökhan koçmarlı
Discussions
Become a Hackaday.io Member
Create an account to leave a comment. Already have an account? Log In.