Honestly, probably a lot of Kafka woes (as a bystander) come from people using it as message queue when it's not one.
Honestly, probably a lot of Kafka woes (as a bystander) come from people using it as message queue when it's not one.
You can use a distributed log to approximate a dedicated message router (which is honestly what "message queue" systems actually are - the queue is an artifact of limited capacity not required behaviour) but such uses are going to be wrong 9 out of 10.
OTOH if you want multiple readers observe same event stream, including across time dimension, not just receive messages, then message queue systems are going to be wrong solution and systems like Kafka are going to be good options.
Both have their pros and cons, both have their uses, both are shit solution when you need the other.
The more important question is "which of those, if any, you actually need".