Я не понимаю, как я должен подключаться к ансамблю ZooKeeper, в отличие от автономного сервера. Из того, что я вижу, API ожидает единственную строку подключения — к отдельному серверу! Но что, если этот конкретный сервер не работает, а весь ансамбль еще работает? Должен ли я знать все узлы заранее и попробовать их последовательно?
Я использую ZK из приложений C ++ и .NET, но я не думаю, что это имеет здесь принципиальное значение.
Спасибо!
Надо читать документация более тщательно 🙂 Способ сделать это — перечислить все серверы как часть строки подключения, как описано в документации:
Для создания сеанса клиента код приложения должен предоставить
Строка подключения, содержащая разделенный запятыми список host: port
пары, каждая из которых соответствует серверу ZooKeeper (например, «127.0.0.1:4545″or» 127.0.0.1:3000,127.0.0.1:3001,127.0.0.1:3002 «). Зоопарк
Клиентская библиотека выберет произвольный сервер и попытается подключиться к нему.
Если это соединение не удается или клиент отключен от
сервер по любой причине, клиент автоматически попробует следующий
сервер в списке, пока не будет (повторно) установлено соединение.
Других решений пока нет …