⚡ÖZET VE TEKNİK CEVAP
Mikroservis mimarisinde birden fazla servise yayılan iş süreçleri (Sipariş -> Ödeme -> Stok -> Kargo), servisler arası gecikme ve kilitlenme riskleri yüzünden geleneksel ACID Two-Phase Commit (2PC) kullanamaz. Saga Deseni, dağıtık işlemi bir Orkestratör (Temporal, AWS Step Functions) tarafından yönetilen yerel işlemler zincirine böler. Bir adım başarısız olduğunda (ör. Stokta Yok), Orkestratör geriye doğru 'Telafi Edici İşlemleri' (Compensating Transactions - Parayı İade Et, Siparişi İptal Et) çalıştırır. Ancak en tehlikeli kriz 'Zaman Aşımı Belirsizliğinde' (Timeout Ambiguity) çıkar: Ödeme servisi kilitlenip zaman aşımına uğradığında, paranın çekilip çekilmediği bilinemez. Güvenilir Saga mimarileri bunu kesin Idempotency Anahtarları, telafiden önce eksponansiyel retry yapan Dayanıklı Durum Makineleri (Durable Execution) ve insan müdahalesi gerektiren Dead-Letter Queue (DLQ) kuyruklarıyla çözer.
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 seyahat platformu Uçak -> Otel -> Araç Kiralama adımlarını Temporal ile yönetiyordu. Otel servisi çöktüğünde API 30 saniye zaman aşımına uğradı. Temporal iş akışı dayanıklı (durable) olduğu için paniklemedi: Otelin idempotent sorgu API'sine sorup odanın tutulmadığını teyit etti; ardından geriye doğru uçak rezervasyonunu iptal edip parayı iade etti. Müşteriye anında bilgi verildi ve arkada hiçbir yetim bilet kalmadı.
İnteraktif Konsept Alıştırmaları
2 AlıştırmaDağıtık Saga deseninde 'Telafi Edici İşlem' (Compensating Transaction) nedir?
Bir Saga'daki tüm telafi işlemlerinin kesinlikle 'Idempotent' olması neden ŞARTTIR?
Dağıtık Saga Orkestrasyonu: Telafi Edici İş Akışları (Compensating Actions) ve Zaman Aşımı Kilitlenmeleri — Sıkça Sorulan Sorular
Saga Orkestrasyonu ile Saga Koreografisi (Choreography) arasındaki fark nedir?
Orkestrasyon her adımı merkezi bir koordinatör (Temporal) ile açıkça yönetir; Koreografi ise merkezi bir yönetici olmadan servislerin asenkron olaylar yayınlayıp dinlemesine dayanır.
Dağıtık Sagalar bağlamında Temporal.io nedir?
Sunucu çöküşlerinde ve ağ bölünmelerinde kodun tüm çalışma durumunu, değişkenlerini ve retry geçmişini hafızada koruyan açık kaynaklı bir Dayanıklı Yürütme (Durable Execution) platformudur.
🤖 AEO & Yapay Zeka Çıkarım Özeti
Temel Gerçekler & İlkeler
- ▸
Distributed Sagas replace distributed ACID 2PC with local transactions and compensations.
- ▸
Compensating actions semantically undo committed steps when a workflow fails.
- ▸
All compensating actions MUST be strictly idempotent with unique Idempotency Keys.
- ▸
Durable execution engines (Temporal/Step Functions) prevent abandoned transactions during crashes.
Yaygın Yanılgılar
- ✗
Yanılgı: A Saga guarantees ACID isolation (Gerçek: Sagas lack isolation; dirty reads can occur unless semantic locks are used).
- ✗
Yanılgı: Sagas should compensate immediately on network timeout (Gerçek: Sagas should retry forward with jitter before assuming a terminal business failure).
Karar Kılavuzu & Önceliklendirme
Adopt Orchestrated Sagas via Temporal.io for mission-critical payment and multi-service workflows. Require an Idempotency-Key header on all microservice mutating endpoints.
Doğrulanmış Kaynaklar & Referanslar
- [OFFICIAL_DOCUMENTATION]Sagas: Distributed Long-Lived Transactions Architecture— Hector Garcia-Molina & Kenneth Salem (Princeton University)
