Трансляция мероприятия с зоопарком

Я хочу транслировать событие через zookeeper 3.4+.

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

Я обнаружил, что могу обновить значение znode от производителя, и слушатели будут уведомлены об этих изменениях znode.

Я могу использовать Apache куратор общий счет. Я могу назначить слушателей на этот общий путь общего счета, и если я обновлю (увеличу) значение общего счета, слушатели будут уведомлены.

Также я могу использовать распределенный атомарный long и Node кеш слушателя. Ситуация такая же, я буду создавать это атомное долго на общеизвестном пути. Слушатели будут слушать znode изменения на этом пути. Когда я обновлю атомное длинное значение, слушатели этих значений узла будут уведомлены.

1) Какую структуру зоопарка я должен использовать, например, выше?

2) Могу ли я быть уверенным, что каждое обновление общего подсчета или распределенного атомарного длинного будет транслироваться, и слушатели будут гарантированно уведомлены?

3) Возможно ли любому слушателю пропустить событие обновления счета?

1 ответ

Путь кеша детей должен быть на выбор. Он более универсален, чем другие, и он лучше, чем Node Cache, поскольку он дает тип события (PathChildrenCacheEvent.Type) - это CONNECTION_RECONNECTED или нет.

Обратитесь к исходному кураторскому коду за дополнительной информацией.

Другие вопросы по тегам