Open-Awesome
CategoriesAlternativesStacksSelf-HostedExplore
Open-Awesome

© 2026 Open-Awesome. Curated for the developer elite.

TermsPrivacyAboutGitHubRSS
  1. Home
  2. MQTT
  3. Aedes

Aedes

MITJavaScriptv1.1.1

A barebone, high-performance MQTT broker for Node.js that runs on any stream server.

GitHubGitHub
2.0k stars239 forks0 contributors

What is Aedes?

Aedes is a lightweight, high-performance MQTT broker written in Node.js. It enables real-time communication between devices and applications using the MQTT protocol, commonly used in IoT and messaging systems. It solves the need for a fast, embeddable broker that can scale with clustering and custom persistence.

Target Audience

Node.js developers building IoT platforms, real-time messaging systems, or embedded MQTT brokers that require high performance and customization.

Value Proposition

Developers choose Aedes for its barebone design, extensibility via plugins, and benchmark-proven performance over alternatives like Mosca. It supports clustering, multiple transports, and integrates seamlessly into existing Node.js ecosystems.

Overview

Barebone MQTT broker that can run on any stream server, the node way

Use Cases

Best For

  • Embedding an MQTT broker into a Node.js application
  • Building scalable IoT backends with clustering support
  • Implementing real-time messaging over WebSocket or TCP
  • Creating custom MQTT bridges between brokers
  • Developing extensible brokers with plugin-based persistence
  • High-throughput messaging systems requiring QoS 1 support

Not Ideal For

  • Projects requiring MQTT 5.0 features like shared subscriptions or message expiry
  • Teams wanting a fully managed broker with built-in GUI and monitoring tools
  • Simple IoT deployments where cloud MQTT services reduce operational overhead
  • Environments with strict memory constraints where in-memory persistence isn't sufficient without external databases

Pros & Cons

Pros

Benchmark-Proven Performance

Benchmarks in the README show Aedes outperforms Mosca with higher message throughput, e.g., 45,896 msg/sec vs. 18,926 msg/sec in clustered setups.

Flexible Plugin Architecture

Supports extensible middleware for persistence, authentication, and messaging, with plugins like aedes-persistence-redis and mqemitter-redis for customization.

Scalable Clustering

Enables high availability through clustering with persistence backends like Redis and MongoDB, allowing distributed deployments as detailed in the Clusters section.

Multi-Transport Support

Works over TCP, SSL/TLS, and WebSocket connections, making it versatile for different network environments and real-time applications.

Cons

No MQTT 5.0 Support

The README explicitly states MQTT 5.0 is not supported yet, limiting access to newer protocol features that competitors may offer.

Complex Clustering Setup

Clustering requires external databases and careful configuration of persistence and emitter plugins, adding operational overhead and potential points of failure.

Barebone Core Requires Work

As a minimalistic library, it lacks built-in features like a management interface or advanced monitoring, necessitating additional development effort.

Frequently Asked Questions

Quick Stats

Stars1,965
Forks239
Contributors0
Open Issues76
Last commit2 days ago
CreatedSince 2015

Tags

#iot#hacktoberfest#message-queue#mqtt#tls#mqtt-broker#websocket#mqtt-server#nodejs#mosquitto#stream#aedes#real-time-messaging#clustering#extensible

Built With

N
Node.js

Included in

Node.js65.5kMQTT2.3k
Auto-fetched 4 hours ago

Related Projects

Socket.ioSocket.io

Bidirectional and low-latency communication for every platform

Stars63,163
Forks10,197
Last commit7 days ago
uWebSocketsuWebSockets

Simple, secure & standards compliant web server for the most demanding of applications

Stars18,933
Forks1,859
Last commit17 days ago
EMQ XEMQ X

The most scalable and reliable MQTT broker for AI, IoT, IIoT and connected vehicles

Stars16,557
Forks2,535
Last commit4 hours ago
MQTT.jsMQTT.js

The MQTT client for Node.js and the browser

Stars9,103
Forks1,446
Last commit3 days ago
Community-curated · Updated weekly · 100% open source

Found a gem we're missing?

Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.

Submit a projectStar on GitHub