2016-09-12 2 views
2

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

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

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

cluster topology

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

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

ответ

1

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

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

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

+0

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

+0

Это правильно –

Смежные вопросы