Designing distributed computing systems is a complex process requiring a solid understanding of the design problems and the theoretical and …