3 ms·
Some of these things are not like the others: ActiveMQ / RabbitMQ / Apollo - "Traditional" message brokers. These provide AMQP, STOMP, MQTT etc. Safe choices f
by xyzzy123 11y ago
Some of these things are not like the others:
ActiveMQ / RabbitMQ / Apollo - "Traditional" message brokers. These provide AMQP, STOMP, MQTT etc. Safe choices for enterprisey dev. Think of them as standards-based infrastructure, like "web servers". There are good reasons to have various commercial and open-source options.
Theoretically (if you stick to core features), these are "plug and play". Most people really decide between them based on cultural factors. You might use IBM's broker because they're your preferred vendor or ActiveMQ because you're a Java shop and you prefer open-source. Maybe RabbitMQ because you because you like the community and so on.
ZeroMQ / nanomsg - Not a traditional "message broker", more like a "messaging construction kit". It supplies framing, patterns and some flow control, you build the rest.
Kafka - This is really "log as a service"[1], it just happens that you can also use it like a message broker. You'll probably structure your consumers as idempotent queue processors so you can get replayability.
[1] In the sense of transaction log.