Eclipse Mosquitto provides a lightweight server implementation of the MQTT protocol that is suitable for all situations from full power machines to embedded and low power machines. Sensors and actuators, which are often the sources and destinations of MQTT messages, can be very small and lacking in power. This also applies to the embedded machines to which they are connected, which is where Mosquitto could be run.
Typically, the current implementation of Mosquitto has an executable in the order of 120kB that consumes around 3MB RAM with 1000 clients connected. There have been reports of successful tests with 100,000 connected clients at modest message rates.
As well as accepting connections from MQTT client applications, Mosquitto has a bridge which allows it to connect to other MQTT servers, including other Mosquitto instances. This allows networks of MQTT servers to be constructed, passing MQTT messages from any location in the network to any other, depending on the configuration of the bridges.
Mosquitto is a core component of the Eclipse Streamsheets project, which provides an easy to use realtime spreadsheet like interface to allow the incoming data from MQTT, OPC-UA, REST, and other protocols to be processed by non-developers to produce dashboards, control processes, or just about anything requiring multiprotocol input and output.
Mosquitto development is sponsored by Cedalo AG.