Кластеризация мнезии

Если я объединяю 2 узла вместе, из моих экспериментов и чтения в Интернете я понимаю, что узел A будет похож на «главный» узел, а узел B будет копировать таблицы, если я этого захочу. (В противном случае он просто получит к ним удаленный доступ.)

Что произойдет, если узел B выйдет из строя? Он просто повторно копирует данные, которые были изменены с момента последнего обновления?

Также что произойдет, если узел А выйдет из строя. Можно ли еще использовать Node B? Если да, то если данные изменяются на узле B, копирует ли узел A их себе? На данный момент я понимаю, что узел A не заботится о том, что говорит узел B, но кто-нибудь, пожалуйста, скажите мне, что я ошибаюсь.


person ewindsor    schedule 02.11.2010    source источник
comment
Что мешает просто попробовать?   -  person Hynek -Pichi- Vychodil    schedule 03.11.2010
comment
Вы можете прочитать 5.2 Распространение и отказоустойчивость в Руководство пользователя Мнезия   -  person Peer Stritzinger    schedule 04.11.2010


Ответы (1)


Поскольку принятый ответ является ответом только по ссылке, я решил, что задокументирую это для всех, кто придет:

  1. Mnesia не совсем работает, имея первично-вторичную архитектуру. Вместо этого некоторые узлы имеют локальные копии данных, а некоторые — удаленные. (Вы можете увидеть это, запустив mnesia:info() из консоли. Имеется список remote таблиц и список для каждой из локальных таблиц: ram_copies, disc_copies и disc_only_copies.)
  2. Если узел выходит из строя, пока существует некоторая таблица с локальной копией, операции с этой таблицей выполняются нормально.
  3. Одним из недостатков Mnesia является то, что она подвержена событиям сетевого раздела. Если в вашем кластере сетевое соединение между двумя узлами ухудшится, то каждый из них будет думать, что другой узел не работает, и продолжит запись данных. Восстановление после этого сложное. Однако в более приземленном случае, если один узел выходит из строя, то узлы с локальными копиями данных продолжают работать, а когда неисправный узел восстанавливается, он снова синхронизируется с кластером.
person James Kingsbery    schedule 25.08.2015