Плотный вопрос - напишите наличие промежуточного лидера выборов - PullRequest
0 голосов
/ 01 ноября 2018

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

1 Ответ

0 голосов
/ 01 ноября 2018

Система недоступна до тех пор, пока новый лидер не сможет зафиксировать запись со своего текущего срока. Если запрос достигает старого лидера, старый лидер может попытаться повторить его, но в конечном итоге потерпит неудачу из-за более высокого срока, и в этом случае этот лидер должен отклонить запрос клиента и уйти в отставку. Если запрос достигает узла, который не является лидером, он может либо отклонить и заставить клиента повторить попытку, либо поставить в очередь запрос на передачу следующему руководителю.

Клиенты должны действительно обрабатывать эти случаи, повторяя запросы в течение некоторого разумного периода времени, когда нет лидера. Таким образом, для пользователя клиента смена лидера может выглядеть просто как высокая задержка.

...