blog

12020-05-25

SEAN K.H. LIAO

messaging systems

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

servers

queueLanguageLog/Queue/PubsubDeliveryRetentionProtocolsOperation modesLicense
ActiveMQJavaQueueat most 1noAMQP, HornetQ, MQTT, OpenWire, STOMPclusterApache 2.0
KafkaJavaLog/Queueat most/least/exactly 1yesKafkaclusterApache 2.0
NATSGoPubsubat most 1noNATSsingleApache 2.0
NATS StreamingGoQueueat least 1yesNATS StreamingclusterApache 2.0
NSQGoPubsubat least 1noNSQclusterMIT
PubSub-Pubsubat least 1noHTTP, GRPChosted-
PulsarJavaLog/Queue/Pubsubat most/least/effectively 1yesPulsarclusterApache 2.0
RabbitMQErlangQueueat most/least 1yesAMQP, HTTP,MQTT,STOMPclusterMPL 1.1
RocketMQJavaQueueat least 1noRocketMQ, JMS, OpenMessagingclusterApache 2.0
notes

other

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