@graf_777_gos
3 курс. Информационные технологии! (2015г)

Как организовать очередь к распределенной переменной?

При подписании транзакций в сети Ethereum нужно указывать nonce (количество транзакций пользователя в сети), это число соответсвенно постоянно инкриментится при добавлении новых транзакций в сеть. Имеются распределенные сервера, задача выстроить очередь следующим образом если один из серверов начал работать над транзакцией (которая может не выполниться, и число nonce останется прежним), то остальные, если им пришли транзакции будут ожидать, пока 1 не выполнит работу до конца. Если транзакция удачно попадает в сеть от 1 сервера то он увеличивает это число nonce и дает возможность продолжить этот этап для первого (следующего) стоящего в очереди сервера. Кто может предложить в какую сторону посмотреть? Текущий стэк: NodeJS, Redis, Postgres. По сути задача сводится к тому чтобы выстроить очередь из серверов к распределенной переменной.
  • Вопрос задан
  • 106 просмотров
Решения вопроса 1
tumbler
@tumbler
бекенд-разработчик на python
Выглядит как блокировка в редисе https://redis.io/topics/distlock плюс атомарный инкремент значения nonce после удачного завершения транзакции. Возможно, с использованием watch https://redis.io/commands/watch
Ответ написан
Комментировать
Пригласить эксперта
Ваш ответ на вопрос

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

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