LLMpediaThe first transparent, open encyclopedia generated by LLMs

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: MQTT Hop 4
Expansion Funnel Raw 71 → Dedup 0 → NER 0 → Enqueued 0
1. Extracted71
2. After dedup0 (None)
3. After NER0 ()
4. Enqueued0 ()
Mosquitto
NameMosquitto
DeveloperEclipse Foundation
Released2009
Operating systemCross-platform
GenreMessage broker
LicenseEPL-2.0/EDL

Mosquitto Mosquitto is an open-source message broker implementing the Message Queuing Telemetry Transport protocol, widely used in Internet of Things deployments, embedded systems, and cloud integrations. It is maintained by the Eclipse Foundation and developed in C, with clients and utilities available for platforms such as Linux, Windows, macOS, Android, and FreeBSD. The project interoperates with ecosystems around projects and organizations like Eclipse, Amazon Web Services, Microsoft Azure, Google Cloud Platform, and the Linux Foundation.

Overview

Mosquitto functions as a lightweight, publish–subscribe message broker that implements MQTT versions defined by OASIS and the Eclipse Working Group, enabling communication between devices, applications, and services. It integrates with cloud providers such as Amazon Web Services, Microsoft Azure, Google Cloud Platform, and edge platforms including Raspberry Pi, Arduino, BeagleBone, and NVIDIA Jetson, and is commonly used alongside platforms like Home Assistant, OpenHAB, Node-RED, and Kubernetes. Deployments often incorporate orchestration and monitoring stacks such as Docker, systemd, Prometheus, and Grafana for scalability and observability.

History and Development

Mosquitto originated in 2009 as a lightweight MQTT broker developed by Roger Light and contributors, with stewardship transitioning to the Eclipse Foundation and the Eclipse IoT Working Group. Its development timeline includes alignment with standards from OASIS, contributions from individuals and companies like IBM and Red Hat, and integration into distributions maintained by projects such as Debian, Ubuntu, Fedora, and Arch Linux. Over time, Mosquitto evolved alongside related protocols and projects including AMQP, CoAP, HTTP/2, and broker implementations such as RabbitMQ, Apache Kafka, and Eclipse HiveMQ.

Architecture and Features

Mosquitto implements core MQTT features including QoS levels, retained messages, last-will messages, topic-based publish–subscribe routing, and persistent or in-memory persistence backends, interoperating with standards bodies such as IETF and OASIS. Its modular architecture allows bridge connections to other brokers and protocols, authentication plugins, and extension points similar to architectures in NGINX, HAProxy, and Envoy (software). Key features include lightweight resource usage suitable for Raspberry Pi, high-throughput deployments comparable with RabbitMQ and Apache Kafka connectors, and client libraries available in languages like C, Python, Java, JavaScript, Go, and Rust used by projects from Eclipse Paho to paho-mqtt and Mosca.

Installation and Configuration

Mosquitto is packaged for major distributions and can be installed via managers such as apt (Debian), yum (package manager), dnf, and pacman, or deployed as containers in Docker images orchestrated by Kubernetes or Docker Compose. Configuration files control listener ports, persistence, logging, and plugin loading, with examples used in ecosystems like Home Assistant, OpenHAB, Grafana, and Prometheus for metrics. Administrators often combine Mosquitto with reverse proxies like Nginx or Traefik and certificate management from Let's Encrypt to support TLS and secure connectivity.

Security and Authentication

Mosquitto supports TLS/SSL encryption, username/password authentication, access control lists, and external authentication via plugin interfaces compatible with systems such as LDAP, OAuth 2.0, and Kerberos when integrated through custom plugins or proxy solutions. Best practices mirror guidance from organizations like OWASP and standards from IETF for securing MQTT traffic, including certificate pinning, use of TLS versions and ciphers recommended by NIST, and network segmentation used by enterprises like Cisco, Juniper Networks, and Arista Networks. Integrations with identity providers such as Okta, Keycloak, and Microsoft Active Directory can provide centralized authentication and authorization.

Performance and Use Cases

Mosquitto’s small footprint and efficient C implementation make it suitable for constrained devices including Raspberry Pi, Arduino, and embedded Linux platforms used in projects by NASA, ESA, and industrial vendors such as Siemens and Schneider Electric. It serves use cases in home automation with Home Assistant and OpenHAB, industrial IoT with OPC UA gateways, telematics for automotive firms like Bosch and Continental, and telemetry pipelines integrated with Apache Kafka and cloud services from AWS IoT Core and Azure IoT Hub. Performance tuning often references load tools and benchmarks from communities around Eclipse Paho, Apache JMeter, and wrk.

Licensing and Community

Mosquitto is distributed under licenses maintained by the Eclipse Foundation (Eclipse Public License) with dual-licensing arrangements in some components, and its governance involves contributors and maintainers drawn from organizations including the Eclipse Foundation, IBM, Red Hat, and independent developers. The project’s ecosystem includes client libraries and tooling from Eclipse Paho, community projects on GitHub, package maintainers in Debian, Ubuntu, and contributors active on platforms like Stack Overflow, GitLab, and mailing lists associated with the Eclipse IoT community. Community resources include documentation, example integrations with Home Assistant, and third-party management tools used by enterprises and hobbyists alike.

Category:Message queueing