News for hackers. Stuff that matters.
Re:You Cannot Have Exactly-Once Delivery by HiJon89 on Wednesday March 01, 2023 @08:08PM (#34990646)
What if the receiver process fails? How do you know which messages it processed successfully? You can shuffle the problem around indefinitely but it doesn’t go away.

If your processing doesn’t have any external side effects (make external API calls, send emails, charge credit cards, etc) then one option is to put your message queue in a relational DB alongside all your other data. Then you can pull a message, process it, write the results to the DB, and mark the message as processed all inside one big transaction. But not many use-cases can fit these constraints and it also has low throughout.

There are no comments on this comment yet.