Будет ли Redis подчиняться из частично обновленного набора данных во время SYNC? - PullRequest
0 голосов
/ 01 ноября 2011

Мы рассматриваем возможность перехода на новую архитектуру с одной главной базой данных Redis и 10 ведомыми только для чтения. Только рабы обслуживают запросы общественности.

Мастер обновляется каждые пару дней, все ключи удаляются и добавляются новые. Там нет "обновления". (Это странное приложение)

Из-за этого я обеспокоен тем, что произойдет во время процесса SYNC. Из документации Redis неясно:

A (хорошо): Ведомое устройство продолжает обслуживать запросы от старого набора данных до тех пор, пока SYNC не завершит работу, а затем переключится на обслуживание из полностью синхронизированного набора данных.

B (плохо): Подчиненный обслуживает запросы как можно лучше из частично обновленных наборов данных. В нашем случае это приведет к выдаче искаженных результатов до завершения SYNC.

1 Ответ

0 голосов
/ 03 ноября 2011

Из redis Документация

Репликация не блокируется на ведомой стороне: в то время как подчиненная выполняя первую синхронизацию, он может отвечать на запросы, используя старая версия набора данных, при условии, что вы настроили Redis для этого в redis.conf. В противном случае вы можете настроить подчиненные Redis для отправки клиентов ошибка, если связь с мастером не работает.

Из моей интерпретации, это А, который произойдет.

...