2014-10-08 3 views
0

Я читал базы знаний mariaDD на Галеру кластере и я наткнулся на это:Синхронные против Асинхронной кластеризации

Основное различие между синхронной и асинхронной репликацией является то, что «синхронным» гарантирует, что если изменения произошли на одном узле кластер, они происходили на других узлах «синхронно» или в одно и то же время. «Асинхронный» не дает никаких гарантий относительно задержки между применением изменений на «ведущем» узле и распространением изменений на «подчиненные» узлы. Задержка может быть короткой или длинной. Это также означает, что при сбое главного узла некоторые из последних изменений могут быть потеряны

В последнем предложении я всегда понимал, что, хотя обновления на ведомом устройстве в асинхронной кластерной установке не выполняются одновременно , он регистрирует эти обновления в файле журнала bin, когда обновления производятся на главном компьютере. Таким образом, в случае сбоя мастера перед тем, как все данные будут переданы ведомому устройству, обновления будут продолжать работу, когда мастер будет восстановлен, так как файл журнала bin зарегистрировал обновления. Может кто-нибудь, пожалуйста, скажите мне, если мое понимание ошибочно и прояснит этот вопрос для меня, пожалуйста. Благодарю.

ответ

1

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

При нормальной репликации, если ведомый поток (часть, получающая события репликации от ведущего устройства) может идти в ногу с ведущим устройством, то ведомый может потерять только пару секунд, если мастер сработает. Однако, если он не может идти в ногу и, например, отстает на 1 час, ведомый потеряет доступ к 1 часу данных. Другой способ потерять доступ к данным на подчиненном устройстве - это установить максимальный размер журнала ретрансляции и достичь этого.

Galera гарантирует, что запись отправляется каждому узлу кластера, прежде чем он будет фактически зафиксирован на любом из узлов, поэтому, когда узел, который выполняется запись, совершает запись, все остальные узлы будут фиксировать то же писать. С galera все записи в основном происходят одновременно на каждом узле. Потеря любого узла в любое время при нормальной работе не приведет к потере данных.

Смежные вопросы