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

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

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

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

Задача скоординировать между собой несколько независимых агентов, чтобы в любой момент времени кто-то один из них брался за задачу. Единственная связь у них между собой – через это хранилище ВК.
  • Вопрос задан
  • 141 просмотр
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Яндекс Практикум
    Python-разработчик
    10 месяцев
    Далее
  • Яндекс Практикум
    Java-разработчик
    10 месяцев
    Далее
  • Яндекс Практикум
    Python-разработчик расширенный
    14 месяцев
    Далее
Пригласить эксперта
Ответы на вопрос 1
begemot_sun
@begemot_sun
Программист в душе.
Нет. Операция проверить-ключ-вставить-новый - не атомарна.
Ответ написан
Ваш ответ на вопрос

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

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