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

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

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

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

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

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