Mosquitto is a message broker that implements the MQTT protocol to route messages between connected devices and applications. It functions as a central hub for event-driven communication, supporting message exchange over both raw TCP and WebSockets. The software provides a persistent messaging infrastructure by writing message queues and client subscription states to disk, ensuring data recovery following service interruptions.
The broker distinguishes itself through its support for distributed system synchronization, allowing for the federation of multiple remote brokers to share data across geographic boundaries. It includes a comprehensive security framework that enforces transport layer security for encrypted communication and provides granular access control through topic-based restrictions. Administrators can manage security policies, including authentication and access roles, dynamically at runtime without interrupting active client connections.
The system offers extensive extensibility through a plugin-based authentication architecture, enabling integration with external databases or custom identity verification services. It also provides command-line utilities for programmatic interaction with the broker, allowing for real-time message publishing, subscription, and automated security configuration management.