LLMpediaThe first transparent, open encyclopedia generated by LLMs

Eclipse Mosquitto

Generated by GPT-5-mini
Note: This article was automatically generated by a large language model (LLM) from purely parametric knowledge (no retrieval). It may contain inaccuracies or hallucinations. This encyclopedia is part of a research project currently under review.
Article Genealogy
Parent: Eclipse IoT Hop 4
Expansion Funnel Raw 128 → Dedup 0 → NER 0 → Enqueued 0
1. Extracted128
2. After dedup0 (None)
3. After NER0 ()
4. Enqueued0 ()
Eclipse Mosquitto
NameEclipse Mosquitto
DeveloperEclipse Foundation
Released2010
Operating systemLinux, Windows, macOS, FreeBSD
LicenseEclipse Public License 2.0
WebsiteEclipse Mosquitto

Eclipse Mosquitto Eclipse Mosquitto is an open-source message broker that implements the MQTT protocol, designed for lightweight publish–subscribe messaging in constrained environments. It is widely used in Internet of Things deployments, embedded systems, industrial automation and cloud edge integration, and supported across multiple platforms and distributions. Mosquitto’s design emphasizes small footprint, portability, and adherence to MQTT standards, enabling interoperability with brokers, clients and tooling across major ecosystems.

Overview

Mosquitto operates as a message broker implementing the MQTT protocol defined by the OASIS MQTT standard, interoperating with client libraries and tooling such as Eclipse Paho, HiveMQ, EMQX, RabbitMQ, Apache Kafka and ActiveMQ. Its minimal footprint makes it suitable for devices supported by Raspberry Pi, Arduino, ESP8266, OpenWrt and Yocto Project images, and for cloud platforms like Amazon Web Services, Microsoft Azure, Google Cloud Platform and IBM Cloud. Mosquitto is integrated with container ecosystems including Docker, Kubernetes, Podman, and orchestration platforms such as Apache Mesos and HashiCorp Nomad. The project interacts with standards and initiatives from organizations like the Eclipse Foundation, OASIS, IETF and IEEE.

History and Development

Mosquitto was originally authored by Roger Light and emerged from projects associated with the Mosquitto legacy codebase and the Eclipse Foundation ecosystem, aligning with MQTT versions evolved through OASIS MQTT TC work and maintained alongside implementations like Eclipse Paho and commercial offerings from Hewlett Packard Enterprise and IBM. Development milestones include protocol updates following MQTT v3.1.1 and MQTT v5.0 standardization, packaging for distributions such as Debian, Ubuntu, Fedora, Arch Linux and openSUSE, and adoption in research from institutions like MIT, Stanford University, ETH Zurich and University of Cambridge. The project has had contributions from corporate entities including Red Hat, Microsoft, Amazon, Cisco Systems, Siemens and Bosch, and governance within the Eclipse Foundation community processes.

Features and Architecture

Mosquitto provides a lightweight broker with support for MQTT features including persistent sessions, quality of service levels 0–2, retained messages, last will and testament messages, and topic filtering with wildcards. Its architecture includes a core daemon, plugin hooks, persistence backends, bridging features to link multiple brokers, and support for WebSockets enabling integration with Node.js, Electron, React, Angular, Vue.js and Chromium-based clients. Mosquitto interoperates with databases and services such as SQLite, PostgreSQL, MySQL, Redis and InfluxDB via bridging or external adapters, and it serves as an edge component for pipelines to Apache Kafka, RabbitMQ, Fluentd and Logstash. The broker includes logging, access control files, TLS support via OpenSSL and plugin interfaces used by projects like mosquitto-go-auth and third-party authentication modules.

Installation and Configuration

Mosquitto is packaged for mainstream operating systems and distributions including Debian, Ubuntu, Fedora, CentOS, Red Hat Enterprise Linux, Arch Linux, openSUSE, Alpine Linux and FreeBSD; container images are available on registries compatible with Docker Hub and registries used by Google Container Registry. Installation options include distribution packages, building from source with GCC or Clang, and cross-compilation for embedded targets using Buildroot and Yocto Project. Configuration is managed via configuration files and command-line options supporting listener definitions, persistence settings, bridge definitions, plugin loading, and logging levels; integration with system managers like systemd, upstart and sysvinit is common for production deployments. Tooling for administration and monitoring integrates with Prometheus, Grafana, Zabbix, Nagios, ELK Stack and Datadog.

Security and Authentication

Mosquitto supports secure transport via TLS/SSL using OpenSSL and alternative TLS stacks like mbed TLS and BoringSSL, with certificate-based authentication, PSK, and cipher suite configuration. Authentication and authorization can be implemented using password files, ACL files, and pluggable authentication modules provided by third parties, integrating with identity systems and directories such as LDAP, Active Directory, OAuth 2.0, OpenID Connect, and enterprise SSO products from Okta and Auth0. Secure deployments follow best practices from standards bodies like NIST and OWASP and can use network controls from iptables, pfSense, AWS Security Groups and Azure Network Security Groups. Vulnerability management and disclosure have involved coordination with CVE processes and security researchers within the Eclipse Foundation incident response procedures.

Performance and Scalability

Mosquitto’s performance characteristics favor low-latency message delivery and small memory footprints for constrained devices, with benchmarks comparing favorably in lightweight workloads against brokers such as RabbitMQ, Apache Kafka, HiveMQ, EMQX and VerneMQ for small messages and high connection counts on platforms including ARM Cortex and x86_64. Scalability strategies include broker bridging, load balancing with HAProxy and NGINX, clustering via external coordinators like Consul or etcd, and edge-to-cloud pipelines leveraging AWS IoT Core, Azure IoT Hub and Google Cloud IoT Core integrations. Monitoring for throughput and latency is commonly performed with Prometheus exporters and tracing with Jaeger or Zipkin.

Community and Licensing

The project is hosted under the Eclipse Foundation governance model and licensed under the Eclipse Public License 2.0, encouraging contributions from individuals and organizations including Red Hat, Microsoft, Amazon, Cisco Systems, Siemens, Bosch, Canonical, Debian Project and academic contributors from University of Oxford and Caltech. Community engagement occurs through mailing lists, Git repositories on GitLab or GitHub mirrors, issue trackers, and conferences such as FOSDEM, EclipseCon, IoT World, MQTT Summit and Embedded Linux Conference. The ecosystem includes client libraries and tools from projects like Eclipse Paho, Mosquitto clients, mqtt.js, Paho JavaScript, pyMQTT and commercial support from vendors including Confluent, Hivemq GmbH and systems integrators.

Category:Message brokers