Какую проблему решает распределенная блокировка redis? - PullRequest
0 голосов
/ 21 февраля 2019

Так что я только что прочитал о redlock.Я понял, что для работы ему нужны 3 независимые машины.Под независимостью они подразумевают, что все машины являются хозяевами, и среди них нет репликации, что означает, что они обслуживают разные типы данных.Так зачем мне блокировать ключ, присутствующий в трех независимых экземплярах redis, действующих как мастера?В каких случаях мне нужно использовать redlock?

1 Ответ

0 голосов
/ 23 февраля 2019

Так зачем мне блокировать ключ в трех независимых экземплярах Redis, действующих как мастера?

Дело не в том, что вы блокируете ключ в Redis.Скорее, ключ является замком и используется для управления доступом к другому ресурсу.Этим другим ресурсом может быть что угодно, и обычно это что-то вне Redis, так как Redis имеет свои собственные механизмы для атомарного доступа к своим структурам данных.

В каких случаях мне нужно использовать redlock??

Вы бы использовали распределенную блокировку, когда вы хотите, чтобы только один член за раз распределенной системы что-то делал.

Чтобы взять случайный пример из Интернета, здесь Coinbase рассказывает об использовании ими распределенной блокировки, чтобы «гарантировать, что несколько процессов не будут одновременно генерировать и транслировать отдельные транзакции в сеть».

...