Apache Curator GroupMember, как получить полный набор участников?

Я очень новичок в Zookeeper, поэтому я пытаюсь использовать рецепты Curator, чтобы посмотреть, смогу ли я получить свои довольно простые запросы из коробки.

Я пытаюсь использовать класс/рецепт Curator GroupMember, чтобы разделить рабочую нагрузку между узлами. Метод GroupMember start () javadoc говорит «начать кэширование всех участников» - как мне запросить или получить уведомление после получения всех участников?

Своего рода продолжение: я заметил, что иногда мой вызов groupMember.setData() выдает «начальное создание не было обработано. Вызовите waitForInitialCreate(), чтобы убедиться», что он находится на PersistentNode, который даже не отображается MemberGroup.

Похоже, мне действительно чего-то не хватает в API MemberGroup :(


person AndreyB    schedule 19.11.2018    source источник


Ответы (1)


Кэширование в Curator использует концепцию «консистентности в конечном счете» — это означает, что значения, которые вы получаете, будут просто тем, что находится в кеше в данный момент. Это довольно хорошо для того, чтобы оставаться в курсе; это просто не гарантирует, что вы получите самые последние значения.

В этом случае «начать кэширование всех членов» просто означает, что до вызова метода start кэширование не происходило; и после кеширования вызова произойдет. Это не означает, что вам нужно ждать завершения кэширования, прежде чем вы сможете его использовать, или что-то в этом роде.

person simonalexander2005    schedule 18.07.2019