Node.js
Consensus
Raft ve Paxos consensus algoritmalarını öğrenirsin.
Consensus nedir?
Consensus (mutabakat), dağıtık düğümlerin tek bir değerde anlaşması sürecidir. Raft ve Paxos bunu sağlayan iki yaygın algoritmadır. Raft, anlaşılırlığı öne çıkarır; Paxos ise matematiksel özlülüğü.
Bir düğüm Raft'ta üç rolden birinde olur: follower (pasif), candidate (seçime giren) ve leader (yazmaları yöneten). Bir consensusRole(term) fonksiyonu bu rolleri modeller: term === 0 ise 'follower', term === 1 ise 'candidate', diğerleri için 'leader' döndürür. Bu, Raft'ın dönem (term) mantığını basit bir eşlemeyle gösterir; gerçek Raft'ta seçimler oy çokluğuyla yapılır ama roller aynı kalır.
Dönem (term) mantığı
Raft'ta term (dönem), mantıksal bir saattir. Her seçim yeni bir dönem başlatır. Bir düğümün rolü, içinde bulunduğu döneme bağlıdır. Bu, sistemin monotonik olarak ilerlemesini sağlar ve eski liderlerin geri gelmesini engeller.
Örnek: consensusRole(0) 'follower' döner; yeni başlayan düğüm pasiftir. consensusRole(1) 'candidate' döner; dönem 1'de seçime girer. consensusRole(2) 'leader' döner; çoğunluk oyu kazanıp lider olmuştur. Bu model, Raft'ın dönem-rol ilişkisini tek bir fonksiyonda gösterir. Paxos'ta da benzer bir mantık vardır (proposal number); her iki algoritma da çoğunluk ve monotonik dönem üzerine kuruludur.
Uygulama Consensus rol fonksiyonu yaz
function consensusRole(term) yaz. if (term === 0) return 'follower';, if (term === 1) return 'candidate'; ve return 'leader'; ile döndür. console.log(consensusRole(0)) ve console.log(consensusRole(2)) yazdır.
Örnek çözümü göster
function consensusRole(term) {
if (term === 0) return 'follower';
if (term === 1) return 'candidate';
return 'leader';
}
console.log(consensusRole(0));
console.log(consensusRole(2));
Kendini test et
-
Leader dalını tamamla
if (term === 0) return 'follower';
if (term === 1) return 'candidate';
return '____';
Cevabı göster
if (term === 0) return 'follower';
if (term === 1) return 'candidate';
return 'leader';
-
Kavramı rolüne eşle
- Raft
- Anlaşılır algoritma
- Paxos
- Matematiksel algoritma
- follower
- Pasif düğüm
- leader
- Yazmaları yönetir
-
Raft'ta bir düğüm seçim kazanınca ne olur?
consensusRole(2)
- Follower olur
- Candidate olur
- Leader olur
- Client olur
Cevabı göster
Leader olur — Seçim kazananı leader olur.
Sıradaki ders: Distributed tracing