advanced
Паттерн распределенного блокирования
Проектирование механизма синхронизации процессов в распределенной системе.
📝 Содержимое промпта
Опишите алгоритм реализации распределенного мьютекса (Distributed Lock) с использованием Redis. Ваше решение должно учитывать сетевые задержки, сбои процессов (клиент умирает, удерживая блокировку) и безопасность от взаимоблокировок (deadlocks). Объясните, почему использование команды SETNX не является достаточным в production-среде, и предложите алгоритм с использованием Redlock или аналогичного подхода. Приведите пример псевдокода для приобретения и освобождения блокировки с уникальным идентификатором клиента и временем жизни (TTL).