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
- 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.
Want to contribute? Check our list of features/bugs
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
Licensed under MIT.