28 lines
1.3 KiB
Markdown
28 lines
1.3 KiB
Markdown
---
|
|
status: stable
|
|
type: concept
|
|
tags:
|
|
- devops
|
|
- kubernetes
|
|
created: 2025-12-17
|
|
updated: 2026-05-07
|
|
aliases:
|
|
- Алгоритм консенсуса raft
|
|
---
|
|
# Алгоритм консенсуса raft
|
|
|
|
**Raft** — алгоритм консенсуса, применяющийся в распределенных системах, и обеспечивающий безопасную и согласованную репликацию данных между всеми участниками.
|
|
|
|
Состоит из двух фаз:
|
|
1) Выбор лидера (**leader election**)
|
|
2) Репликация данных (**log replication**)
|
|
|
|
Каждый участник в любой момент времени находится только в одном состоянии:
|
|
1) Лидер (**leader**) - только один;
|
|
2) Кандидаты в лидеры (**candidate**);
|
|
3) Ведомый (**follower**).
|
|
|
|
*Raft* в фазе выбора лидера опирается на понятие кворума (**quorum**) - большинства.
|
|
Из-за этого, в частности, есть рекомендация: *количество master-node должно быть нечетным*.
|
|
|
|
Визуализация алгоритма консенсуса Raft: http://thesecretlivesofdata.com/raft/ |