Документация по JGroups (http://www.jgroups.org/manual/html/index.html) говорится, что при использовании протокола обнаружения FD текущий координатор группы отвечает за обновление представления кластера, когда узел кластера умирает, но из документации не ясно, что делается, когда сам координатор группы умирает.
Например, у нас есть кластер {A,B,C,D}, и узел A здесь является координатором. Теперь, если новый член «E» хочет присоединиться, координатор запускает протокол JOIN и разрешает E присоединиться к кластеру, и если член, скажем «C», выходит из строя, тогда соседи «C» передают подозрительное сообщение, и Протокол GMS координатора исключит «C» и транслирует новое представление членам кластера. Это понятно. Но в случае смерти самого координатора группы тогда (по некоторой логике) следующий участник в этом представлении становится координатором.
- Мой вопрос в том, как следующий участник узнает о новом представлении?
- Канал становится координатором на данный момент и устанавливает новое представление для участников, и каждый участник проверяет, является ли он новым координатором или нет, проверяя первого/самого старого участника в представлении?