В Redis конфигурации мастер-ведомый

Конфигурация ведущий-ведомый

О процессе конфигурации ведущий-ведомый, мы здесь конкретно не объяснили подробно, посмотрите на эту статью, это хорошо:

https://www.cnblogs.com/ysocean/p/9143118.html

Во-вторых, принцип мастер-ведомый репликации

Это наша главная проблема, мы смотрим на

  Redis функцию копирования в синхронизации (SYNC) и распространение команд (команды) распространяются две операции.

  ①, наследство синхронизации

  При выдаче команды из узла SLAVEOF требует главного сервера репликации с сервера, команда для завершения передаваемой SYNC от главного сервера. Этапы выполнения команды:

  1, передает команду SYNC от сервера к главному серверу

  2, получил SYNC выполнения команды BGSAVE команды магистра, чтобы сгенерировать RDB файлы в фоновом режиме, и использовать буфер для записи всех команд записи, выполненных с самого начала

  3, когда команда первичного сервера BGSAVE завершена, главный сервер посылает сгенерированный файл команда BGSAVE в файл СРР, RDB с сервером получает от сервера, а сервер обновляет файл состояние записи состояния RDB.

  4, главный сервер для всех буферов из команды записи также отправляются на сервер, выполнить команду с сервера.

  ②, команда распространение

  Когда синхронизация завершена, главный сервер будет соответствующие команды модификации, на этот раз не будет соответствовать состоянию первичного сервера и с сервера.

  Для того, чтобы получить главный сервер и с сервера, чтобы поддерживать согласованное состояние, мастер-сервер должен выполнить команду операция распространяется с сервера, мастер будет писать свои собственные команды, отправленные с сервера для выполнения. С сервером после выполнения соответствующей команды от главного сервера, чтобы поддерживать согласованное состояние.

  Краткое описание: С помощью функции синхронизации и командных связей, может обеспечить хороший мастер из одних и тех же характеристик.

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

  Синхронная работа на самом деле операция отнимает много времени, основной сервер должен сгенерировать документ по команде BGSAVE RDB, а затем необходимо отправить файл на сервер, после получения файла с сервера, то файл будет загружен, и период погрузки, от сервера не может обработать другие команды.

  Чтобы решить эту проблему, Redis от после версии 2.8, используйте новую команду синхронизации  PSYNC  вместо команды SYNC. Команда Часть Resync для эффективности после обработки пересоединения репликации. То есть , когда главный сервер с сервера , чтобы восстановить после перерыва, только первичный сервер отключен после команды записи , отправленной с сервера, только что получил от сервера и выполнить команду записи , чтобы оставаться в соответствии с мастера.

В-третьих, главный недостаток репликации из

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

рекомендация

отwww.cnblogs.com/lys-lyy/p/11613041.html