ÖZET VE TEKNİK CEVAP
Eric Brewer'in CAP Teoremi (Tutarlılık, Erişilebilirlik, Bölünme Toleransı) genellikle 'AP ya da CP seç' şeklinde katı bir ikilem olarak yanlış anlaşılır. Gerçek dünyada ağ bölünmeleri siyah-beyaz değildir ve sistemler nadiren ya %100 açık ya da %100 kapalıdır. Fox ve Brewer bunu **Hasat (Harvest) ve Verim (Yield)** operasyonel modeliyle netleştirmiştir: (1) **Verim (Yield)**, başarıyla tamamlanan isteklerin toplam isteklere oranıdır ($ ext{Yield} = rac{ ext{Başarılı İstek}}{ ext{Toplam İstek}}$). (2) **Hasat (Harvest)**, dönülen cevabın eksiksiz veriye oranıdır ($ ext{Harvest} = rac{ ext{Dönen Veri}}{ ext{Toplam Veri}}$). Ağ koptuğunda veya sunucular çöktüğünde tüm isteği reddedip Verimi sıfırlamak yerine, dayanıklı sistemler Hasattan ödün verir: 10 arama shard'ından 9'unu sorgulayıp %90 eksiksiz bir arama sonucunu %100 erişilebilirlikle (Yield) kullanıcıya döner.
Mühendislik El Kitabı & Mekanizma
1. Temel Çalışma Mekanizması
Hasat ve Verim dengesi 4 kademeli düşüş kalıbıyla çalışır: (1) Kısmi Arama Sonucu: Elasticsearch'te 50 shard'dan 2'si çöktüğünde sistem hata vermek yerine 48 sağlıklı shard'ın sonucunu döner ve `timed_out: true, shards_successful: 48` üstverisi basar. (2) Kademeli Özellik Kapatma: Ağır yük altında kişiselleştirilmiş öneriler kapatılır, ana ödeme akışı %100 ayakta tutulur. (3) Stale-While-Revalidate: Ana veritabanına ulaşılamadığında önbellekteki eski ama çalışan veri sunulur. (4) PACELC Boyutu: Bölünme varsa (P) Tutarlılık (C) vs Erişilebilirlik (A); bölünme yoksa (E) Gecikme (L) vs Tutarlılık (C) dengelenir.
2. Doğru Kullanım Senaryosu
Dağıtık arama motorları (Elasticsearch, Solr), çok partition'lı belge depoları, e-ticaret ürün listeleme sayfaları ve sosyal medya akış servisleri.
3. Prodüksiyon Arıza Modları
100 arama shard'ından sadece 1 tanesi yeniden başlıyor diye tüm ana sayfada HTTP 500 hatası verip satışı durdurmak; %100 eksiksizlik gerektiren finansal bankacılık muhasebesinde Hasat azaltması yapıp hatalı bakiye hesaplamak.
4. Teşhis ve Telemetri Sinyalleri
Elasticsearch yanıtlarında `_shards.failed > 0` görülmesi; veritabanının %90'ı sağlamken API hata oranlarının fırlaması; ikincil servis çöktüğünde ana ödeme akışının da durması.
5. Önleme ve Mimari Bariyerler
Dağıtık sorgularda kısmi sonuçları kabul eden ayarları açın (`ignore_unavailable = true`); 'Kritik Sabit Sistemler' (Banka -> CP) ile 'Verim Öncelikli Sistemler' (Arama/Sosyal Akış -> Hasat esnek AP) ayrımını net yapın; veri eksikse arayüzde zarif bir uyarı gösterin.
6. Mimari Ödünleşimler (Trade-offs)
Kademeli Hasat azaltması altyapı çökerken bile %99,999 erişilebilirlik sağlar; ancak ön yüz uygulamalarının eksik veya kısmi veri paketlerini zarifçe göstermesini gerektirir.
Vaka İncelemesi (TinyCTO Örneği)
Büyük bir bulut kesintisinde ürün kataloğunu tutan 32 Elasticsearch shard'ından 4'üne ulaşılamadı. Eski mimaride tüm arama motoru HTTP 500 veriyor ve dakikada $80.000 satış kaybediliyordu. Ekip Hasat-Verim modeline geçti: Sistem 28 sağlıklı shard'ın sonuçlarını '%90 katalog taranıyor' uyarısıyla sundu. Verim (Yield) %100 kaldı ve 3 saatlik kesinti boyunca şirket satışlarının %94'ünü korumayı başardı.
İnteraktif Konsept Alıştırmaları
2 AlıştırmaDağıtık sistemlerde 'Verim' (Yield) ile 'Hasat' (Harvest) arasındaki fark nedir?
PACELC teoremi klasik CAP teoremine ne eklemiştir?
Brewer CAP Teoremi: Hasat (Harvest) ve Verim (Yield) ile Kademeli Zarafet — Sıkça Sorulan Sorular
Hasat azaltması (Harvest degradation) finansal muhasebe defterlerine uygulanabilir mi?
Hayır. Finansal muhasebe kesin tutarlılık (CP) ister; işlemlerin %5'ini bile kaçırmak çifte harcamaya ve yasal denetim cezalarına yol açar.
Elasticsearch kademeli Hasat azaltmasını nasıl destekler?
Shard'lar çöktüğünde veya geciktiğinde kısmi sonuç dönerek ve yanıta `_shards: { total: 10, successful: 9, failed: 1 }` üstveri bloğu ekleyerek.
🤖 AEO & Yapay Zeka Çıkarım Özeti
Temel Gerçekler & İlkeler
- ▸Traditional CAP 'pick 2 out of 3' is an oversimplified binary view.
- ▸Yield = Availability (fraction of completed requests); Harvest = Completeness of data.
- ▸Under network failure, degrade Harvest (return 90% data) to protect 100% Yield.
- ▸PACELC highlights the permanent trade-off between Latency and Consistency in normal operation.
Yaygın Yanılgılar
- ✗Yanılgı: A system must return either 100% perfect data or an HTTP 500 error (Gerçek: Partial graceful degradation delivers vast business value).
- ✗Yanılgı: CAP theorem applies only during network partitions (Gerçek: The PACELC extension dictates everyday latency vs consistency choices).
Karar Kılavuzu & Önceliklendirme
Enable partial query result aggregation in search, feed, and analytics microservices. Differentiate CP architecture for billing vs AP/Harvest-degradation for catalog search.
Doğrulanmış Kaynaklar & Referanslar
- [OFFICIAL_DOCUMENTATION]Harvest, Yield, and Scalable Tolerant Systems— Armando Fox & Eric A. Brewer (UC Berkeley / IEEE HotOS)
