Node.js
CAP theorem
CAP theorem ve dağıtık sistem trade-off'larını öğrenirsin.
CAP theorem
CAP theorem, dağıtık bir sistemin aynı anda üç garantisinin yalnızca ikisini sağlayabileceğini söyler: consistency (tutarlılık), availability (erişilebilirlik) ve partition tolerance (bölme toleransı). Bir ağ bölümü (partition) olduğunda sistem C ya da A'dan birini seçmek zorundadır.
CP sistemleri bölüm sırasında tutarlılığı tercih eder; yazmalar reddedilir. AP sistemleri ise erişilebilirliği tercih eder; her düğüm yanıtlar ama veri geçici olarak tutarsız olabilir. Bir capChoice(pick) fonksiyonu bu tercihi modeller: 'CP' için 'consistency over availability', 'AP' için 'availability over consistency' döndürür. Bu, gerçek bir dağıtık veritabanının davranışını basit bir kararla özetler; ileride MongoDB, Cassandra gibi sistemleri seçerken bu zihni modeli kullanırsın.
CP ve AP sistemler
CP (consistency + partition) sistemleri, bölüm sırasında yazmayı reddeder. Bu, verinin her zaman tutarlı kalmasını sağlar ama kullanıcının beklemesine yol açar. AP (availability + partition) sistemleri ise her isteği yanıtlar; veri geçici olarak tutarsız olabilir ama sistem kullanılamaz duruma düşmez.
Örnek: MongoDB varsayılan olarak CP eğilimlidir; Cassandra ise AP eğilimlidir. capChoice('CP') 'consistency over availability' döner; capChoice('AP') 'availability over consistency' döner. Bu basit model, bir veritabanı seçerken hangi tarafın ağır bastığını görmeni sağlar. Gerçek hayatta sistemler saf CP ya da AP değildir; ayarlanabilir ayarlarla iki üç arasında yer alır.
Uygulama CAP tercih fonksiyonu yaz
function capChoice(pick) yaz. if (pick === 'CP') return 'consistency over availability'; ile başla. if (pick === 'AP') return 'availability over consistency'; ekle. return 'invalid'; ile bitir. console.log(capChoice('CP')) ve console.log(capChoice('AP')) yazdır.
Örnek çözümü göster
function capChoice(pick) {
if (pick === 'CP') return 'consistency over availability';
if (pick === 'AP') return 'availability over consistency';
return 'invalid';
}
console.log(capChoice('CP'));
console.log(capChoice('AP'));
Kendini test et
-
Bölüm sırasında sistem hangi iki seçenekten birini seçer?
- Yalnızca tutarlılık
- Üçü birden
- Yalnızca bölüm
- Tutarlılık ya da erişilebilirlik
Cevabı göster
Tutarlılık ya da erişilebilirlik — Bölüm sırasında tutarlılık ya da erişilebilirlik seçilir.
-
CP dalını tamamla
if (pick === '____') return 'consistency over availability';
Cevabı göster
if (pick === 'CP') return 'consistency over availability';
-
Kavramı rolüne eşle
- consistency
- Tutarlılık
- availability
- Erişilebilirlik
- partition
- Ağ bölünmesi
- CP
- Tutarlılık öncelikli
Sıradaki ders: Consensus