Задать вопрос

Можно ли реализовать mutex на хранилище, где только set и get?

В Redis есть замечательный алгоритм Redlock, позволяющий надёжно реализовать mutex (взаимное исключение) на распределённых хранилищах. Но он основан на операции вставки-если-ключа-нет (SET ... NX).

Возник вопрос: можно ли реализовать mutex на базе storage ВКонтакте, где есть только операции set( key, value) и get(key)? Есть метод utils.getServerTime() для получения серверного времени с точностью до секунд.

Задача скоординировать между собой несколько независимых агентов, чтобы в любой момент времени кто-то один из них брался за задачу. Единственная связь у них между собой – через это хранилище ВК.
  • Вопрос задан
  • 150 просмотров
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Go-разработчик с нуля + нейросети
    9 месяцев
    Далее
  • Академия Эдюсон
    Python-разработчик + ИИ
    9 месяцев
    Далее
  • ProductStar × РБК
    Профессия: Python-разработчик + ИИ
    8 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
begemot_sun
@begemot_sun
Программист в душе.
Нет. Операция проверить-ключ-вставить-новый - не атомарна.
Ответ написан
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы