Need advice about which tool to choose?Ask the StackShare community!
RSMQ vs EMQ: What are the differences?
Developers describe RSMQ as "A lightweight message queue for Node.js that requires no dedicated queue server. Just a Redis server". tl;dr: If you run a Redis server and currently use Amazon SQS or a similar message queue you might as well use this fast little replacement. Using a shared Redis server multiple Node.js processes can send / receive messages. On the other hand, EMQ is detailed as "The Scalable MQTT Broker for IoT and Mobile Applications". It is fully open source and licensed under the Apache Version 2.0. It implements both MQTT V3.1 and V3.1.1 protocol specifications, and supports MQTT-SN, CoAP, WebSocket, STOMP and SockJS at the same time.
RSMQ and EMQ can be categorized as "Message Queue" tools.
Some of the features offered by RSMQ are:
- Lightweight: Just Redis and ~500 lines of javascript.
- Guaranteed delivery of a message to exactly one recipient within a messages visibility timeout.
- Received messages that are not deleted will reappear after the visibility timeout.
On the other hand, EMQ provides the following key features:
- Full MQTT V3.1/3.1.1 Protocol Specifications Support
- Easy to Install - Quick Install on Linux, FreeBSD, Mac and Windows
- Massively scalable - Scaling to 1 million connections on a single server
RSMQ and EMQ are both open source tools. It seems that RSMQ with 1.12K GitHub stars and 85 forks on GitHub has more adoption than EMQ with 181 GitHub stars and 96 GitHub forks.
Pros of EMQX
- QoS 23
- Clusters2
- Plugins1
Pros of RSMQ
- Simple, does one thing well2
- Comes with a visibility timeout feature similar to AWS1
- Written in TypeScript1
- Written in Coffeescript1
- Backed by Redis1