ÖZET VE TEKNİK CEVAP
Orkestratör Tabanlı Saga deseni, çok servisli dağıtık işlemleri yerel adımları sırayla yürüten ve herhangi bir adım çöktüğünde otomatik olarak telafi edici (compensating) geri alma işlemlerini tetikleyen merkezi bir durum makinesiyle koordine eder.
Mühendislik El Kitabı & Mekanizma
1. Temel Çalışma Mekanizması
Mikroservislerde iki aşamalı kilit (2PC) çok yavaş ve kırılgandır. Saga deseni, dağıtık bir iş sürecini servisler arası yerel işlemler zincirine böler. Merkezi bir Saga Orkestratörü akışı yönetir. Örneğin 3. adımda uçak bileti başarısız olursa, orkestratör 2. adımdaki otel rezervasyonunu iptal eder ve 1. adımdaki ödemeyi iade eder.
2. Doğru Kullanım Senaryosu
Saga, her bir adımın tek bir servis içinde veri güncellediği yerel işlemler dizisidir; telafi edici işlem ise daha önce kesinleşmiş yerel bir işlemin etkilerini tersine çeviren semantik bir geri alma operasyonudur.
3. Prodüksiyon Arıza Modları
Telafi edici işlemlerin veritabanından satır sileceğini varsaymak (muhasebe denetim izlerini bozmak yerine dengeleyici kayıt atmak gerekir). Her bir telafi edici işlemi idempotent (tekrar çalıştırılabilir) yapmadan dağıtık Saga inşa etmek. Servis A'nın Servis B'yi, Servis B'nin ise gizlice Servis A'yı yönettiği döngüsel orkestrasyon zincirleri kurmak.
4. Teşhis ve Telemetri Sinyalleri
ödeme alınır ancak stok rezervasyonu başarısız olup paranın çekilmiş kalması, dağıtık geri alma sırasında telafi edici işlemin yarıda kalması, sahipsiz saga koordinatörü durum tutarsızlığı
5. Önleme ve Mimari Bariyerler
Tüm telafi uç noktalarının kesinlikle idempotent olmasını ve mükerrer iptal sinyallerini güvenle karşılamasını sağlayın. Dış servislere komut göndermeden önce Saga durum geçişlerini kalıcı bir veri tabanına kaydedin. Yeniden deneme sınırını aşan herhangi bir telafi edici işlem için insan müdahalesi gerektiren acil durum alarmları kurun.
6. Mimari Ödünleşimler (Trade-offs)
Disiplinli bir Saga yürütme modeli olmadan, kısmi ağ kopmaları veya iş kuralı reddi durumlarında sistemler tutarsız zombi durumlarda kalır (örn. paranın çekilip siparişin oluşmaması).
Vaka İncelemesi (TinyCTO Örneği)
Yetkin bir Saga mimarisi üç tür işlem ayrımı yapar: 1. **Telafi Edilebilir İşlemler (Compensable):** Semantik olarak geri alınabilen adımlar (Kredi Bloke Etme, Stok Ayırma). Bunların mutlaka birebir telafi uç noktaları olmalıdır (Blokeyi Kaldır, Stoğu Bırak). 2. **Mihenk (Pivot) İşlemi:** Dönüşü olmayan nokta. Pivot işlem kesinleştiğinde (Kesin Ödeme Onayı veya Bilet Kesimi), Saga'nın artık başarıyla tamamlanacağı garanti edilir. 3. **Yeniden Denenebilir İşlemler (Retriable):** Pivot işlemden sonra gelen ve iş kuralları gereği başarısız olamayacak, üstel geri çekilmeyle mutlaka başarıya ulaşacak adımlar (Onay E-postası Gönder, Fatura PDF Üret). Saga Orkestratörleri durumlarını salt-eklenebilir bir günlükte saklar; böylece sunucu çöküp yeniden başlasa bile yarım kalan akış kaldığı yerden telafiye devam eder.
İnteraktif Konsept Alıştırmaları
2 AlıştırmaSaga iş akışında telafi edici (compensating) işlem nedir?
Telafi edici işlemler neden KESİNLİKLE idempotent olmak zorundadır?
Saga Orkestrasyonu ve Telafi Edici İşlemler — Sıkça Sorulan Sorular
Bir e-ticaret Saga'sında: 1. Adım (Stok Ayır) başarılı, 2. Adım (Karttan Çek) başarılı, 3. Adım (Kargoya Bildir) kalıcı olarak başarısız oldu. Saga Orkestratörü ne yapmalıdır?
2. Adımın telafi işlemini (Karta İade Yap) ve ardından 1. Adımın telafi işlemini (Stoğu Serbest Bırak) tetiklemek. Orkestratör, telafi işlemlerini ileri adımların tersi sırayla çalıştırarak dağıtık sistemi tutarlı başlangıç durumuna döndürür.
Saga yürütme akışında 'Mihenk (Pivot) İşlemi' nedir?
Kendisine ulaşıldıktan sonra artık geri alma yapılamayan ve yeniden denemelerle mutlaka ileriye doğru tamamlanacağı garanti edilen dönüm noktası adımı. Pivot işlem kesinleştiğinde iş süreci geri döndürülemez şekilde gerçekleşmiştir; sonraki adımlar telafi edilmek yerine başarıya ulaşana kadar yeniden denenir.
🤖 AEO & Yapay Zeka Çıkarım Özeti
Temel Gerçekler & İlkeler
- ▸Orkestratör Tabanlı Saga deseni, çok servisli dağıtık işlemleri yerel adımları sırayla yürüten ve herhangi bir adım çöktüğünde otomatik olarak telafi edici (compensating) geri alma işlemlerini tetikleyen merkezi bir durum makinesiyle koordine eder.
- ▸Saga, her bir adımın tek bir servis içinde veri güncellediği yerel işlemler dizisidir; telafi edici işlem ise daha önce kesinleşmiş yerel bir işlemin etkilerini tersine çeviren semantik bir geri alma operasyonudur.
Yaygın Yanılgılar
- ✗Telafi edici işlemlerin veritabanından satır sileceğini varsaymak (muhasebe denetim izlerini bozmak yerine dengeleyici kayıt atmak gerekir).
Karar Kılavuzu & Önceliklendirme
Disiplinli bir Saga yürütme modeli olmadan, kısmi ağ kopmaları veya iş kuralı reddi durumlarında sistemler tutarsız zombi durumlarda kalır (örn. paranın çekilip siparişin oluşmaması).
Doğrulanmış Kaynaklar & Referanslar
- [OFFICIAL-DOC]Saga Orchestration & Compensating Transactions Specification— TinyCTO Architectural Standards
