I have a general question on how zookeeper can maintain its view of the user
cluster (that zookeeper manages) that is consistent with the nodes in the user
cluster. In other words, when zookeeper considers the current leader is
unavailable, does it really guarantee that a majority of nodes in the user
cluster can’t reach the current leader? The same question applies to the
membership service as well. Because the zookeeper can be partitioned from a
majority of the nodes in the user cluster. How does the zookeeper handle
situations like this?