В ZooKeeper, есть ли способ написать иерархическую иерархию без реализации распределенных блокировок самостоятельно? - PullRequest
4 голосов
/ 09 марта 2012

допустим, я хочу выписать это дерево для зоопарка

.            a
.           / \
.          b   c
.         / \
.        d   e

какой-то другой клиент мог бы прийти и удалить узел b сразу после того, как я его создал, но прежде чем я смогу написать узел 'd' или 'e'.

Есть ли способ, которым я могу написать эту иерархию атомарно, или, возможно, заблокировать определенный путь?

Ответы [ 2 ]

5 голосов
/ 10 марта 2012

Вы можете использовать новый multi () API

. Он завершает все операции или отменяет их все.

2 голосов
/ 09 марта 2012

Вы можете координировать работу разных клиентов, выбирая лидера или поддерживая блокировки Вы можете прочитать хорошее описание рецептов Zookeeper в документации куратора Netflix (это также хорошая библиотека для использования, если вы хотите что-то сделать с Zookeeper)

...