Я не эксперт по Zookeeper, но у меня также есть настройка на 3 узла, и я много читал об этом и проводил некоторые эксперименты с ним.
В Zookepeer есть настройки tickTime и syncLimit , которые определяют, как долго подписчики могут быть не синхронизированы (если подписчики слишком далеко отстают от лидера, они будут отброшены).
Я проводил эксперимент по отключению узла, к которому был подключен клиент. Я увидел исключение в журналах, а затем клиент снова подключился к другому узлу.
Однако есть также параметр initLimit
, который определяет, сколько времени клиент должен установить соединение. Если не удается установить соединение в течение этого времени, вы получите ConnectionLoss
исключение.