Понимание обновления состояния кластера

2

Я читаю gossip akka cluster и все еще имею одно небольшое недоразумение о сплетнях.

Как сказано в этом ответе, два узла сплетничают о значении, а затем кто видел это значение. Но это связано с некоторой проблемой конвергенции. Вот как я вижу это:

S - это видимый набор.

Изображение 174551

Проблема в какой-то момент, только node 4 знает, что произошла конвергенция. node 1, 2 и 3 все еще считают, что это не так. Мне интересно, как node 4 иметь дело с конвергенцией?

Должен ли он инициировать новую сплетню вокруг этой конвергенции? Или как другие узлы могут узнать об этом?

Теги:
gossip
akka
distributed-system

1 ответ

1
Лучший ответ

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

Node 4 (и 3 действительно), и все последующие узлы, знающие о сходимости, продолжают сплетничать, но без случайного взвешивания, упомянутого в вашем другом вопросе. В разделе протокола вашего связанного документа говорится:

Пока кластер находится в конвергентном состоянии, gossip отправляет только небольшое сообщение о сплетне, содержащее версию сплетен, в выбранный node. Как только происходит смена кластера (что означает несогласие), он снова возвращается к предвзятым сплетням.

  • 0
    Итак, суть в том, что сплетни всегда происходят. Если узел соблюдает текущее состояние как конвергентный, он отправляет небольшие сообщения о состоянии. Как только узел обнаружил не сходимость, он начинает посылать «нормальные сообщения о сплетнях», пока снова не наблюдает сходимость. Это правильно?
  • 0
    Это верно

Ещё вопросы

Сообщество Overcoder
Наверх
Меню