Saturday 18 March 2017

How is it possible to ensure a single delivery in a distributed system?

I have a distributed email delivery system that sends out emails regularly to a list of addresses, on specific date and times.

I have a bunch of servers polling the database and waiting for the right time to send the emails.

How can I ensure those servers won't send the same email at the same time to the same customer? Do I have to create some kind of a distributed lock mechanism here? Is there perhaps a better, more efficient way to do so? If not, what is the recommended best-practice for implementing this kind of distributed lock (my current stack is node.js + postgres)



via Winston Smith

No comments:

Post a Comment