Цель:
- Обеспечьте взаимное исключение в распределенных системах.
Варианты использования:
- Избегайте дублирования обработки заданий.
- Запретите одновременную запись в общие ресурсы.
Инструменты:
- Redis (алгоритм Redlock)
- смотритель зоопарка
- и т. д.
Пример Redis:
const Redlock = require('redlock');
const redlock = new Redlock([redisClient]);
const lock = await redlock.lock('locks:resource', 1000);
await lock.unlock();
Итог
Ключевой вывод для интервью: как работают распределенные блокировки и когда вы их будете использовать?