Redis Replication Проблема - PullRequest
       19

Redis Replication Проблема

3 голосов
/ 30 ноября 2011

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

App1. Slave1

App2. Slave2

Теперь App1 и App2 как-то связаны, и я не хочу ситуации, когда конкретный фрагмент данных доступен на Slave1, а не на Slave2.

Другими словами, я не хочу никакой задержки синхронизации. Я хочу, чтобы данные синхронизировались одновременно.

Возможно ли, что мастер отправляет обновления рабам, а не рабам, запрашивающим это.

1 Ответ

4 голосов
/ 30 ноября 2011

Другими словами, я не хочу никакой задержки синхронизации. Я хочу, чтобы данные синхронизировались одновременно.

Это невозможно. Теоретически, согласованность может быть гарантирована распределенной транзакцией. Redis (и многие другие NoSQL) не используют распределенные транзакции из-за проблем с производительностью.

Возможно ли, что мастер отправляет обновления рабам, а не рабам, запрашивающим это.

Есть недопонимание. В redis главный DO отправляет обновления рабам. Однако это не может предотвратить несогласованность (задержку синхронизации).

...