https://medium.com/@alexandragrosu03/distributed-systems-with-go-building-scalable-and-fault-tolerant-applications-4014003f8a4a