У меня есть набор ресурсов, каждый из которых имеет уникальный идентификатор, и каждый элемент ресурса должен быть заблокирован перед его использованием, а затем разблокирован. Логика приложения:
lock any one element;
if (none locked) then
exit with error;
else
get resource-id from lock
use resource
unlock resource
end
Zookeeper выглядит хорошим кандидатом для управления этими блокировками, он быстр и надежен, а восстановление после сбоя клиента кажется довольно простым.
Кто-нибудь может подумать, как я мог бы использовать Zookeeper для достижения этой цели?