I've often heard wisdom like "it's irresponsible to use Kafka when you could just use RabbitMQ" but why does that statement not work equally well in the opposite direction?
It seems like some "you don't need this fad technology" sentiments don't provide a whole lot of justification for sticking with the unfashionable choice. Does it all come down to "the devil you know?" What if you aren't that experienced with either choice?
It could, in some circumstances. Generally, though, the two have only a very small overlap with respect to messaging use cases. One was designed to be general purpose and solve a variety of MQ use cases and serve even "dumb" clients. One was designed very specifically to impose a high burden of state tracking on clients for a very specific paradigm.
> It seems like some "you don't need this fad technology" sentiments don't provide a whole lot of justification for sticking with the unfashionable choice.
The "unfashionable choice" that works doesn't need justification. The new shiny one does.
Why? That's what I'm asking.
- More people who know how to operate it
- A greater portion of its failure modes that are known, with workarounds
- Mature tooling and libraries
New technologies need a compelling reason that their pros will outweigh the above incumbent benefits.