7 Comments
User's avatar
Petar Ivanov's avatar

Idempotency is crucial in distributed systems, especially the ones with payments.

Great article, Raul! And thank you so much for the mention! 🙏

Jack Daniels's avatar

Brilliant article! I have two questions:

1. Queues like Kafka and NATS have internal storage/streams to keep events that have not been processed yet. So, it seems like they could guarantee reliability.

2. Who writes to the inbox table? Is it a service that accepts the events? Does it listen to events and save them into the inbox?

Saurabh Dashora's avatar

Very nice post Raul.

Makes the whole flow clear in terms of sending messages reliably plus receiving as well.

Also, thanks for the mention!

Shaun's avatar

Really clear, thnx for your contribution!

Prajyot Prabhu's avatar

You have to also mention about the acknowledgement event after consumption of the message. This ack will update a flag in the outbox table to make sure, the operation is complete.

Neo Kim's avatar

nicely explained + visuals make it easier to understand. Good work, Raul.