https://medium.com/@zxyhdream/java-interview-question-how-to-design-and-implement-a-distributed-singleton-pattern-in-a-cluster-aa07b77d90d8