Blog
Mert Özen'in yazılım geliştirme, backend, frontend ve DevOps üzerine blog yazıları.
Consistency Model'leri: Linearizability, Sequential, Causal ve Eventual Consistency
Consistency model, bir sistemin hangi okuma/yazma geçmişlerine izin verdiğinin tanımıdır: linearizability gerçek zamana uyar, sequential yalnız her client'ın kendi sırasına, causal happens-before'a; eventual consistency ise yalnız sonunda aynı değere varmayı vaat eder. Küçük bir C# checker'ı beş geçmişi değerlendiriyor: yazma bittikten sonraki eski okuma linearizable değil ama sequential; kendi yazmasını görmemek ikisini de bozuyor.
CAP ve PACELC'i Doğru Okumak: "3'ten 2'sini Seç" Neden Yanlış?
CAP, partition sırasında linearizability (C) ile her sağlam node'un cevap vermesi (A) arasında seçim yapmak gerektiğini söyler; partition (P) seçilen bir özellik değil, başa gelen bir olaydır, bu yüzden "3'ten 2'si" özeti yanlıştır. PACELC, partition yokken de latency ile consistency arasında seçim yapıldığını ekler. Örnekte sepet partition'da silinen kitabı geri getiriyor, ödeme azınlık tarafında 503 dönüyor.