Что такое Raft?

Senior
204 просмотров
AFK Offer AI

Raft — алгоритм консенсуса, разработанный как понятная альтернатива Paxos. Узлы бывают в трёх состояниях: leader, follower, candidate. Лидер принимает все записи, реплицирует их на фолловеров через append-only лог. Если фолловер не получает heartbeat от лидера — начинает выборы, становится кандидатом, просит голоса у остальных. Кто набрал большинство — новый лидер. etcd, Consul, CockroachDB — все построены на Raft. В Go есть отличная реализация от HashiCorp (hashicorp/raft). Raft гарантирует, что при большинстве живых узлов система продолжает работать корректно.

Следующий вопрос

Что такое request timeout?