Easy to play armchair quarterback, but if each server is storing the complete list, why not just use a queue to push out the change?<p><pre><code> for {
message = blockWaitingForMessage()
if message.action == "add" {
lock()
blacklist[message.domain] = true
unlock()
}
}
</code></pre>
On startup you'd need to bootstrap a server. Use a database as your source of truth, and wrap an internal-only api to fetch all domains.