- it is much more performant than RabbitMQ - it's a commit log as well, not just a pub-sub system, ie. it is a good candidate as the storage backend for event sourcing - it supports geodistributed and tiered storage (eg. some data on NVMe drives, some on a coldline storage) - it's persistent, not in-memory (primarily)
.. and so on.
Why use RabbitMQ and Kafka if you can use ZeroMQ? Meaning, isn’t it far more performant and distributed?
Maybe I am missing something here.
They are totally different, you're comparing apples with oranges.
ZeroMQ gives you basic, very fast tooling to communicate between distributed processes. ZeroMQ does not provide tooling for e.g. maintaining a strictly ordered, multi-terabyte event log. And so on.
Basically, one is decentralized and you can set up a massively parallel architecture, with eg each topic or subthread having its own pubsub.
The other is a monolithic centralized pubsub architecture.
You could argue that git in large institutional projects converges to a monolithic repo so at that point it’s less efficient even than svn.
But for most use cases, ZeroMQ would allow far more flexible distributed systems topologies and solutions. No?
Edit: HN and Google are both awesome: https://news.ycombinator.com/item?id=9634925
Not true. Facebook and Google do not use Git. Microsoft does not use vanilla Git for their monorepo. They created this extension to make it scalable https://en.wikipedia.org/wiki/Virtual_File_System_for_Git
I don't think Apache cares if it's maintaining similar projects.
This blog post offers some more info and leaders to other posts comparing Pulsar to RabbitMQ and Kafka: https://jack-vanlightly.com/blog/2018/10/2/understanding-how...
Firebase is a completely different animal.