Отказоустойчивость и резервное копирование Hazelcast

В документации hazelcast указано, что

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

Несколько вопросов

a) Если для члена в кластере настроена резервная копия 1, означает ли это, что в кластере есть еще только 1 член, у которого есть резервная копия для этого члена? Или есть резервная копия резервной копии?

б) Итак, учитывая а) если и член, и его резервная копия выйдут из строя, будет ли потеря данных?

c) Если существует стратегия сквозной записи, и и член, и его резервная копия выходят из строя и происходит потеря данных, то существует ли механизм для динамического восстановления данных (используя механизм сквозной записи или что-то еще)?

заранее спасибо


person sunny    schedule 29.11.2013    source источник


Ответы (1)


Несколько ответов:

а) резервные копии настраиваются на уровне структуры данных. Таким образом, вы могли бы сказать: на этой карте есть 1 синхронная резервная копия... а на этой карте ноль... или 2, или...

Резервные копии могут быть синхронными (что означает сквозную запись изменений в резервную копию) или отложенной записью (поэтому в какой-то момент резервное копирование выполняется). Асинхронное и синхронное резервное копирование настраиваются независимо на уровне структуры данных.

б) да. Вот почему вы можете настроить более 1 резервного копирования, если у вас такие высокие требования к доступности.

c) некоторые структуры данных (например, карта/очередь) могут быть настроены с использованием стратегии загрузчика карт/хранилища карт; что позволяет, например. записать свои изменения на диск/базу данных и т. д.

person pveentjer    schedule 29.11.2013
comment
В документации указано, что если число резервных копий ›= 1, то каждый элемент будет содержать как собственные записи, так и резервные копии других участников. Означает ли это, что каждый участник будет иметь резервную копию других участников? Скажем, в кластере из 5 и количестве резервных копий 2 для map1 на узле 1 каждый член кластера имеет копию map1 в качестве резервной копии или в любой момент времени у 2 членов кластера будет копия? - person sunny; 04.12.2013
comment
Документация немного вводит в заблуждение. Если у вас 5 участников и допустим, что есть 5 разделов и одна резервная копия, то у каждого члена будет основной раздел и резервный раздел. Таким образом, один элемент не будет содержать все резервные копии всех разделов. Если это так, карта никогда не будет масштабироваться за пределы нескольких гигабайт памяти :) Итак, если у вас есть одна резервная копия, 10 миллионов элементов и 10 машин, то каждый член будет иметь 1 миллион элементов из основного и 1 миллион элементов из резервной копии. . - person pveentjer; 05.12.2013