messaging systems

Push data into a queue, push (or pull) data out to clients.


queue Language Log/Queue/Pubsub Delivery Retention Protocols Operation modes License
ActiveMQ Java Queue at most 1 no AMQP, HornetQ, MQTT, OpenWire, STOMP cluster Apache 2.0
Kafka Java Log/Queue at most/least/exactly 1 yes Kafka cluster Apache 2.0
NATS Go Pubsub at most 1 no NATS single Apache 2.0
NATS Streaming Go Queue at least 1 yes NATS Streaming cluster Apache 2.0
NSQ Go Pubsub at least 1 no NSQ cluster MIT
PubSub - Pubsub at least 1 no HTTP, GRPC hosted -
Pulsar Java Log/Queue/Pubsub at most/least/effectively 1 yes Pulsar cluster Apache 2.0
RabbitMQ Erlang Queue at most/least 1 yes AMQP, HTTP,MQTT,STOMP cluster MPL 1.1
RocketMQ Java Queue at least 1 no RocketMQ, JMS, OpenMessaging cluster Apache 2.0


ZeroMQ is a set of protocol/libraries for direct messaging between producers/consumers.