Подтвердить что ты не робот

Как Кассандра выбирает координатор node и узлы репликации?

Как клиент Cassandra выбирает координатора node? координатор node хранит данные, отправленные клиентом до репликации?

4b9b3361

Ответ 1

Координирующий узел обычно выбирается алгоритмом, который учитывает "расстояние сети". Любой узел может выступать в качестве координатора, и сначала запросы будут отправляться на узлы, о которых знает ваш драйвер. Но как только он подключается и понимает топологию вашего кластера, он может измениться на "более близкого" координатора.

Координатор хранит данные только локально (при записи), если он оказывается одним из узлов, отвечающих за диапазон токенов данных.

Ответ 2

Координатор выбирается драйвером на основе политики, которую вы установили. Общие политики - политика DCAwareRoundRobinPolicy и TokenAware.

Для DCAwareRoundRobinPolicy драйвер выбирает координатор node в соответствии с его циклической политикой. Подробнее здесь: http://docs.datastax.com/en/drivers/java/2.1/com/datastax/driver/core/policies/DCAwareRoundRobinPolicy.html

Для TokenAwarePolicy он выбирает координатор node, который запрашивает данные - для уменьшения "переходов" и латентности. Дополнительная информация: http://docs.datastax.com/en/drivers/java/2.1/com/datastax/driver/core/policies/TokenAwarePolicy.html

Лучше всего применять политику переноса, поэтому в случае первичной и вторичной политики возникает проблема. Дополнительная информация доступна по ссылкам выше.