a high performance, multi tenant MQTT broker built for very large scale device fleets, with authentication enforced on every connection.
Apache BifroMQ, currently incubating at the Apache Software Foundation, is a distributed MQTT broker written in Java. It implements MQTT 3.1, 3.1.1 and 5.0, and is built around native multi tenancy: every connection is resolved to a tenant, and each tenant's topics, subscriptions and sessions are isolated from every other tenant's on the same broker.
It suits teams connecting large fleets of devices or sensors to a message backbone, platform operators who need to serve several isolated groups of clients from shared infrastructure, and anyone building event driven or telemetry systems who wants an MQTT broker they run on their own infrastructure rather than a hosted service.
cloudimg delivers BifroMQ configured as a hardened single node broker, so an authenticated MQTT endpoint answers the moment the instance boots. This matters more than usual here: left at its defaults BifroMQ loads a development authentication provider that accepts every connection without checking the password and grants every publish and subscribe, so a stock deployment is an open broker. The cloudimg image replaces that with real credential checking, and closes the related failure where a broker whose authentication service is unreachable would silently grant every action instead of denying it. Its two unauthenticated management ports are bound to the loopback interface and enforced there by a firewall rule. There is no baked credential: a unique MQTT username and a long random password are generated on each instance's first boot and written to a root only file. The Java runtime is sized for the instance rather than left to a default that would exhaust its memory. The base is fully patched with unattended security upgrades enabled, and every deployment is paired with a step by step deploy guide, backed by 24/7 cloudimg support.