Я пытаюсь понять основы Apache zookeeper. Сервер Zookeeper (автономный / кворум) работает на хосте (ах) / порте (ах), и, как показано ниже, клиент zookeeper упоминает подробности.

Конструктор, создающий дескриптор ZooKeeper, обычно выглядит так:

ZooKeeper(    String connectString,    int sessionTimeout,    Watcher watcher) 

Где: connectString Содержит имена хостов и порты серверов ZooKeeper.

Сервер zookeeper уведомляет клиентов об изменении статуса в кластере. Мой вопрос в том, что я не могу понять из руководств, как сервер zookeeper знает IP-адрес и номер порта клиента zookeeper. Если бы кто-нибудь мог предоставить java-фрагмент API zookeeper, где указана эта информация, это было бы здорово.

0
grit639 9 Апр 2021 в 04:37

1 ответ

Лучший ответ

Сервер zookeeper уведомляет клиентов об изменении статуса в кластере.

Это происходит в рамках существующего подключения клиента к серверу. Сервер не «обращается» к неподключенным в данный момент (потенциальным на данный момент) клиентам. Это означает, что клиент должен быть заполнен хотя бы одним адресом сервера, который все еще является точным, чтобы вообще подключиться. Затем он будет проинформирован о том, где находятся все остальные.

1
Thilo 9 Апр 2021 в 01:51