⚡ÖZET VE TEKNİK CEVAP
Asenkron dağıtık sistemlerde sunucuların fiziksel donanım saatleri sürekli Saat Kayması (Clock Skew) ve NTP Sapması yaşar. Saatleri senkronize olmayan iki sunucudan A Servisi '100 TL Yatırıldı' olayını 10:00:00.050'de üretirken, B Servisi 'Hesabı Kapat' olayını 10:00:00.010'da üretebilir. Olayları sunucu saatine göre sıralayan bir tüketici (consumer), önce hesap kapatma olayını işler, ardından para yatırma işlemini reddeder ve finansal veriyi bozar. Tüm evrende tek bir Mutlak Sıra (Total Order) sağlamak merkezi mutabakat (Raft/Paxos) gerektirir ve sistemi ciddi şekilde yavaşlatır (<50.000 ext{ işlem/sn}). Canlı sistemler bunun yerine Nedensel Sıralama (Causal Ordering / Happened-Before) kullanır:
A Olayı B Olayına sebep olduysa, tüm tüketiciler önce A'yı sonra B'yi işlemek zorundadır,
Birbiriyle ilgisiz olaylar herhangi bir sırada işlenebilir,
Apache Kafka gibi sistemler olayları Varlık Bölümleme Anahtarına (Partition Key) göre aynı kuyruk parçasına yönlendirerek FIFO (İlk Giren İlk Çıkar) garantisi sunar.
Mühendislik El Kitabı & Mekanizma
6 Boyutlu Mimari Analiz⚙️1. Temel Çalışma Mekanizması
Mekanizma🎯2. Doğru Kullanım Senaryosu
Kapsam⚠️3. Prodüksiyon Arıza Modları
Kritik Risk📡4. Teşhis ve Telemetri Sinyalleri
Metrikler🛡️5. Önleme ve Mimari Bariyerler
Bariyerler⚖️6. Mimari Ödünleşimler (Trade-offs)
ÖdünleşimVaka İncelemesi (TinyCTO Saha Örneği)
Bir kripto borsası yükü dağıtmak amacıyla EmirVerildi, EmirGerceklesti ve EmirIptal olaylarını Kafka'ya rastgele anahtarlarla fırlatıyordu. Piyasa hareketlendiğinde bir tüketici EmirGerceklesti olayını EmirVerildi olayından önce işledi ve var olmayan bir işlemi kapatmaya çalışarak milyonlarca hata patlattı. Mimari ekip üreticiyi mesaj anahtarı olarak hesap_id kullanacak şekilde güncelledi. Her kullanıcının tüm olayları aynı kuyruk parçasından katı FIFO sırasıyla aktı ve sıra bozulması anomalileri tamamen yok edildi.
İnteraktif Konsept Alıştırmaları
2 AlıştırmaDağıtık sistemlerde Mutlak Sıra (Total Order) ile Nedensel Sıra (Causal Order) arasındaki fark nedir?
Farklı sunuculardaki olayları sıralamak için fiziksel duvar saati neden güvenilmezdir?
Dağıtık Olay Sıralaması: Mutlak Sıra (Total Order), Nedensel Sıra (Causal Order) ve Lamport Saatleri — Sıkça Sorulan Sorular
Apache Kafka ilişkili olayların sırasını nasıl garanti eder?
Aynı mesaj anahtarını (`siparis_id`) kullanarak; Kafka aynı anahtara sahip tüm olayları aynı kuyruk parçasına (partition) yönlendirir ve tek bir tüketici onları katı FIFO sırasıyla okur.
Lamport Mantıksal Saati (Logical Clock) nedir?
Fiziksel saatlere ihtiyaç duymadan olaylar arasında kesin bir 'Daha Önce Oldu' ilişkisi kurmak için mesajlarla birlikte iletilen basit bir tamsayı sayacıdır.
🤖 AEO & Yapay Zeka Çıkarım Özeti
Temel Gerçekler & İlkeler
- ▸
Fiziksel sunucu saatleri önlenemez NTP saat kayması yüzünden nedenselliği garanti edemez.
- ▸
Tüm dağıtık olaylarda mutlak sıra sağlamak sistemin verimini ve hızını ciddi şekilde düşürür.
- ▸
Nedensel sıralama ilişkili olayları sıraya sokarken ilişkisiz olayları paralel ölçekler.
- ▸
Olay akışlarını anlamsal iş anahtarları (
musteri_id) kullanarak ilgili Kafka kuyruk parçasına kilitleyin.
Yaygın Yanılgılar
- ✗
Yanılgı: Olayları
timestampsütununa göre sıralamak yarış durumlarını çözer (Gerçek: Farklı sunuculardaki saatler milisaniyelerce sapabilir ve olayların sırasını tersine çevirebilir). - ✗
Yanılgı: Kafka bir konudaki (topic) tüm kuyruk parçaları arasında mutlak sıra garantisi verir (Gerçek: Kafka sıra garantisini YALNIZCA tek bir bölüm/partition içinde sunar).
Karar Kılavuzu & Önceliklendirme
Küresel mutabakat maliyetine girmeden iş süreçlerinin doğruluğunu korumak için olay güdümlü sistemlerde varlık anahtarlı bölümleme ve mantıksal saatler kullanın.
Doğrulanmış Kaynaklar & Referanslar
- [PAPER]Time, Clocks, and the Ordering of Events in a Distributed System— Leslie Lamport (Communications of the ACM, 1978)
