https://mahesh-sv.medium.com/chapter-5-part-2-replication-designing-data-intensive-applications-d75156db1a95