Barebone MQTT server that can run on any stream servers
To install aedes, simply use npm:
npm install aedes
- Full compatible with MQTT 3.1 and 3.1.1
- Standard TCP Support
- SSL / TLS
- WebSocket Support
- Message Persistence
- Automatic Reconnect
- Offline Buffering
- Backpress-support API
- High Availability
- Clusterable
- Authenticaion and Authorization
$SYS
support- Pluggable middlewares
- Dynamic Topics Support
- MQTT Bridge Support between aedes
- MQTT 5.0 (not support yet)
- Bridge Protocol (not support yet)
- aedes-logging: Logging module for Aedes, based on Pino
- aedes-stats: Stats for Aedes
- aedes-protocol-decoder: Protocol decoder for Aedes MQTT Broker
- aedes-persistence: In-memory implementation of an Aedes persistence
- aedes-persistence-mongodb: MongoDB persistence for Aedes
- aedes-persistence-redis: Redis persistence for Aedes
- aedes-persistence-level: LevelDB persistence for Aedes
- aedes-persistence-nedb: NeDB persistence for Aedes
- mqemitter: An opinionated memory Message Queue with an emitter-style API
- mqemitter-redis: Redis-powered mqemitter
- mqemitter-mongodb: Mongodb based mqemitter
- mqemitter-child-process: Share the same mqemitter between a hierarchy of child processes
- mqemitter-cs: Expose a MQEmitter via a simple client/server protocol
- mqemitter-p2p: A P2P implementation of MQEmitter, based on HyperEmitter and a Merkle DAG
- mqemitter-aerospike: Aerospike mqemitter
This library is born after a lot of discussion with all Mosca users and how that was deployed in production. This addresses your concerns about performance and stability.
Example benchmark test with 1000 clients sending 5000 QoS 1 messsages. Used mqtt-benchmark with command:
mqtt-benchmark --broker tcp://localhost:1883 --clients 1000 --qos 1 --count 5000
========= TOTAL (1000) =========
Total Ratio: 1.000 (5000000/5000000)
Total Runtime (sec): 178.495
Average Runtime (sec): 177.845
Msg time min (ms): 0.077
Msg time max (ms): 199.805
Msg time mean mean (ms): 35.403
Msg time mean std (ms): 0.042
Average Bandwidth (msg/sec): 28.115
Total Bandwidth (msg/sec): 28114.678
Benchmark: Mosca
========= TOTAL (1000) =========
Total Ratio: 1.000 (5000000/5000000)
Total Runtime (sec): 264.934
Average Runtime (sec): 264.190
Msg time min (ms): 0.070
Msg time max (ms): 168.116
Msg time mean mean (ms): 52.629
Msg time mean std (ms): 0.074
Average Bandwidth (msg/sec): 18.926
Total Bandwidth (msg/sec): 18925.942
Here is a list of some interesting projects that are using Aedes as MQTT Broker. Submit a PR or an issue if you would like to add yours
- node-red-contrib-aedes: MQTT broker for Node-Red based on Aedes
- Mqtt2Mqtt: Mqtt Bridge between two brokers with UI
Want to contribute? Check our list of features/bugs
Thank you to all our backers! 🙌
Become a sponsor to get your logo on our README on Github
Licensed under MIT.