3 ms·
>All the smartness of the messaging can be implemented in the smart clients. How do you do, for example, a queue with priorities client side without it being i
by NovemberWhiskey 3y ago
>All the smartness of the messaging can be implemented in the smart clients.
How do you do, for example, a queue with priorities client side without it being insanity? That's a relatively basic AMQP thing. Or managing the number of redeliveries for a message that's being repeatedly rejected.
You can absolutely try to build some of this with a look-aside shared data store that all clients have to depend on in order to emulate having the capability in the broker, but you just introduced another common point of failure in addition to the messaging infrastructure. Life is too short for this.
- supermatt 3y agoI totally agree that you cant do a lot of AMQP stuff. As you noted, you can build some of it by managing state via transactional producers, etc - but you definitely cant do everything. The biggest gripe for me is actually dynamic "queue" creation, patterns for topics, etc. So I use an MQ for an MQ ;) I'm just saying you can "dumb down" the client side on kafka by creating an abstraction layer (or one of the many higher level libs that already do that).
- robertlagrant 3y agoThose requirements would definitely be examples of those that are fulfilled by smart messaging.