Article cover

30.04.2022

27

Beğenme

443

Görüntülenme

CAP Teoremi Nedir?

CAP teoremi kısaca; Dağıtılmış (distributed) bir mimaride aynı anda Tutarlılık (Consistency), Erişilebilirlik (Accessibility)ve Bölünebilme Toleransı (Partition) olamayacağını savunuyor.


  • Tutarlılık: Dağıtık sistemde x ve y adında iki sunucu olsun. Biz talep ettiğimizde X sunucusundan “ furkan ” isimli kullanıcının e-posta adresini verecektir . y sunucusundan gelen “furkan” kullanıcı adı karşılığında alınan e-posta değeri, X’te alınan e-posta değeri ile aynı ise burada tutarlılık sağlanır.
  • Kullanılabilirlik: Dağıtılmış sistemler her zaman kullanılabilir olmalıdır. Dağıtılmış sistemde sadece X ve Y adında iki sunucu varsa , her iki sunucu da her zaman kullanılabilir olmalıdır.
  • Bölünebilme Toleransı: X ve Y sunucuları birbirine bağlıdır. X sunucusu herhangi bir nedenle çökerse, Y sunucusu çalışmaya devam edebilmelidir.


Öyleyse neden CAP teoremi bu üç özelliğin aynı anda var olamayacağını iddia ediyor? Şimdi onlara bir göz atalım:


CP Savunucuları

  • Kullanılabilirlik özelliği feda edildi.
  • Tutarlılık ve Bölünebilme Toleransını temel alır.
  • İki düğüm arasında bir bölünme meydana geldiğinde tutarlı olmayan düğümün kapatılması.


AP Savunucuları

  • Tutarlılık özelliği feda edilmiştir.
  • Kullanılabilirlik ve Bölünebilme Toleransına dayanır.
  • İki düğüm arasında bir bölünme meydana geldiğinde, her ikisine de erişim kullanılabilirlik olacaktır. Ancak, iki düğümden birinin bağlı olduğu veritabanının aynı olduğu garanti edilmez. Bu durumda, iki düğüm arasında tutarlılık yoktur.


CA Savunucuları

  • Bölünebilme Toleransına özelliği feda edildi.
  • Kullanılabilirlik ve Tutarlılığa dayalıdır.
  • Tüm düğümlere erişilebilir ve her düğüm birbiriyle tutarlıdır. Düğümler arasında bölünme gerçekleşemez.
Design Patterns
Herkes İçin Temel Dersler

Yorumlar

Kullanıcı yorumlarını görüntüleyebilmek için kayıt olmalısınız!

Muhammed Furkan Gülşen

Konum

İstanbul, TR

Eğitim

Yazılım Mühendisliği - Beykent Üniversitesi

© 2021 Patika Dev

facebook
twitter
instagram
youtube
linkedin