Making Elections Faster.
Election is an expensive operation. We can avoid the elections if we can enforce some priority-based ordering on who shall become primary if the current primary fails.
Specifically, we can keep a node with second highest priority in the data center of the most preferred primary. Usually, the network failures within the data centers are less probable than across the data centers. So, it is reasonable to believe that if the second preferred member loses the contact with current primary, it is the primary node which has failed and not the network. As a supplement, we can also have redundant network connection between the two. So, we do not need to wait for 10 seconds to detect that it is a node failure. Write operations can immediately shift to the second preferred member and this would make system “more” available for writes.