Путь блокировки Apache Curator
Мы знаем, как создать распределенную общую блокировку с помощью Apache Curator:
InterProcessMutex lock = new InterProcessMutex(client,"/my/lock");
Для приведенного выше кода у меня есть два вопроса:
1: Второй параметр - это путь к блокировке (znode), поэтому этот znode блокировки создается этим периодом кода автоматически или нам нужно создать его вручную раньше?
2: Если он создан InterProcessMutex, что если этот узел блокировки уже был создан другими экземплярами? Выдает ли какое-нибудь исключение "znode exsting"? Если это не исключение, что случилось, создать дубликат znode?
1 ответ
Для 1 - да, Куратор создает путь (и родителей, если это необходимо) для вас.
Для 2 - Если другие экземпляры выделяют InterProcessMutex с этим путем, проблем нет. Это все обрабатывается внутри. Куратор создает пути, если это необходимо. Думайте о пути как о "идентификаторе блокировки".
Отказ от ответственности: я главный автор куратор