модуль 5 из 6 · Акт III · ~30 мин · 7 решений

сцена

Четверг. Разбор того самого split-brain у курьеров ещё висит на доске.

Тимур
Тимур

Fencing-токены прикрутили — зомби-лидер больше не испортит данные, его записи просто отвергаются. Но это защита последнего рубежа. Настоящая дыра осталась: как у курьерского сервиса вообще завелось два лидера? Кто их назначает?

Гена
Гена

А что тут назначать. Пусть лидер — узел с самым маленьким номером. Все его знают, все ему подчиняются. Одна строчка кода.

Тимур
Тимур

Пробовали бы — и напоролись. Стоит сети между дата-центрами моргнуть на полминуты, как каждая половина увидит, что «узел с меньшим номером» с её стороны недоступен, — и каждая назначит лидером своего. Два лидера, оба абсолютно уверены в своей правоте — и без всякой GC-паузы, которую мы уже закрыли фенсингом.

Иван
Иван

Значит, проблема не в том, что мы выбираем лидера. А в том, что каждый узел решает это сам, по своей картинке мира. А картинка у каждого своя — мы вчера как раз это и выяснили: сеть врёт, часы врут, паузы врут.

Марина
Марина

И что, есть способ надёжно договориться, когда никому нельзя верить на слово?

Иван
Иван

Есть. Он старше меня и называется скучно — консенсус. Давай покажу, почему «узел с меньшим номером» — это не выбор лидера, а его имитация.

← карта