15 Comments

Very helpful 🙂

Expand full comment

Thank you

Expand full comment

An amazing write up as always. All the three can be the best solution, depending on the context.

Expand full comment

Indeed my friend Daniel. This is the great part about system design. Everything has a place 🙂

Expand full comment

Detailed article as always. Can't decide if I'm happy or sad about not using Kafka at work haha.

Thanks for the mention! 🙌

Expand full comment

Thanks Akos.

I guess not needing Kafka is peaceful. And I'd prioritize peace over anything else 😅

Expand full comment

haha nice. 😃

Expand full comment

Simply explained, Saurabh!

I prefer asynchronous send because it balances:

- The performance benefits of a non-blocking call.

- The reliability provided by error-handling callbacks.

It allows for more fault tolerance without excessively harming the system’s throughput.

Thanks for the shoutout!

Expand full comment

Thanks Raul.

I also prefer asynchronous send a lot over the other methods. It's a sweet spot for most scenarios.

Expand full comment

I appreciate the mention to my article, Saurabh!

This is an interesting one as multiple can be used for a use case, but it's on the small details that one is more suited than the other. Depending on the use case we may need to guarantee delivery (even if duplicated) or be fine with an event not reaching

Expand full comment

Thanks Fran.

Indeed the differences are in small details. Mostly, I've got away with async send though sometimes I've seen fire and forget being used as well.

Expand full comment

awesome, thanks Saurabh. Next article on consumer side ack strategies?

Expand full comment

Thanks Ashwani for the feedback and the topic suggestion🙂

Expand full comment

Great explanation

Expand full comment

Thanks Kumar Gaurav

Expand full comment