Алгоритмы изменения реплицированных файлов

1. Репликация первой копии – требует чтобы один сервер был выделен как первичный. Остальные являются вторичными. Когда реплицированный файл модифицируется, изменения вносятся на первичный сервер, затем им рассылаются на вторичные. Из-за отказа первичного сервера он может не успеть оповестить об изменениях вторичные, поэтому перед модификацией первичной копии все изменения записываются в журнал.
Основной недостаток – низкая надёжность

2. Голосование – если есть N копий файла, то изменения вносятся в любые W копий с отслеживанием версий. При запросе на чтение он отправляется к любым R узлам при том, что в системе должно выполняться правило W+R>N.
Существует модификация этого алгоритма, «голосование с приведением». Используется в системах, где операция чтения встречается гораздо чаще, чем операции записи, R – небольшое, W – близкое к N. При этом выход из строя нескольких серверов может привести к отсутствию кворумов (необходимого количества).
Для каждого отказавшего или отключенного сервера в этом случае создается фиктивный сервер без дисков, который не участвует в кворуме чтения, но может участвовать в кворуме записи. Запись считается успешной, если хотя бы один сервер был настоящим.
Когда отказавший сервер перезапускается, он создает запрос на чтение, чтобы обнаружить и скопировать себе последнюю версию реплицированного файла.


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: