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

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

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

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

Задача скоординировать между собой несколько независимых агентов, чтобы в любой момент времени кто-то один из них брался за задачу. Единственная связь у них между собой – через это хранилище ВК.
  • Вопрос задан
  • 148 просмотров
Подписаться 1 Оценить Комментировать
Помогут разобраться в теме Все курсы
  • Нетология
    Go-разработчик с нуля + нейросети
    9 месяцев
    Далее
  • Яндекс Практикум
    Алгоритмы и структуры данных
    4 месяца
    Далее
  • Skillbox
    Ал­го­рит­мы и струк­ту­ры дан­ных для раз­ра­бот­чи­ков
    3 месяца
    Далее
Пригласить эксперта
Ответы на вопрос 1
begemot_sun
@begemot_sun
Программист в душе.
Нет. Операция проверить-ключ-вставить-новый - не атомарна.
Ответ написан
Ваш ответ на вопрос

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

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