В Плоте, когда последователь узнает, что запись стала совершенной? Может ли устаревший узел победить на выборах? - PullRequest
0 голосов
/ 26 апреля 2018

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

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

A: 0 1 2 3 4

B: 0 1 2 3 4

C: 0 1 2 3 4

D: 0 1 2 3

E: 0 1

Когда узел A (текущий лидер) получает запрос (запись 4), регистрирует его и реплицирует его на узел B и узел C. Затем узел A применяет запись 4 в конечном автомате и отвечает клиенту ( В этом пункте запись считается подтвержденной узлом B и узлом C или нет? ). Затем происходит сбой узла A и узла B, узел D сам начинает новое голосование по выборам и получает голос по узлу E, а затем выигрывает выборы . Это случится?

Ответы [ 2 ]

0 голосов
/ 27 апреля 2018

Как и когда последователь узнает, что запись стала совершенной ???

  • Он либо получил сообщение пульса от текущего лидера с последний зафиксированный индекс.
  • Или, если лидер потерпел неудачу, прежде чем он смог сообщить другим о новом индексе, будет выбран новый лидер, который в конечном итоге будет фиксировать новые записи из текущего термина и, таким образом, неявно объявлять этот предыдущий индекс (из предыдущего термина) как совершено.

Примечание : лидер может зафиксировать индекс только из своего собственного термина (см. §5.4.2 Передача записей из предыдущих терминов в ( 1) ). Если новый избранный лидер хочет знать, что является последним подтвержденным индексом, он должен совершить запись no-op ( eration ) сразу после своего избрания.

Узел устаревший может победить на выборах?

Нет. Чтобы получить голос от другого узла, узлу необходимо иметь журнал, по крайней мере 1034 * 1 как журнал узла, с которого он пытается получить голос. (также другой узел не должен уже давать кому-либо голос в этот срок)

1 Содержит запись более позднего срока. Или, если последние записи имеют тот же номер термина, он содержит больше записей.

0 голосов
/ 26 апреля 2018

RPC AppendEntries, который лидер отправляет подписчикам, включает индекс фиксации, подписчики могут применять эти записи журнала к своим конечным автоматам, когда они получают это от лидера.Последователи только получают индекс коммитов от лидера, он никогда не вычисляет его сам.Если лидер терпит неудачу, новый лидер вычисляет соответствующий индекс коммитов и отправляет его со своими вызовами RPC AppendEntries.

Для вопроса о выборах D не может выиграть выборы, ему нужно 3 голоса для победы, ион не получит голоса от C. В конце концов, С начнет выборы и выиграет их, продолжая в качестве лидера.

...