Saga
Tek ACID transaction'a sığmayan çok servisli işlemleri adımlar ve telafi aksiyonlarıyla yöneten workflow pattern'idir. Booking + payment gibi dağıtık travel işlemlerinde kullanışlıdır.
Neden önemli?
Metasearch fan-out architecture upstream latency ve data volatility nedeniyle resilience gerektirir. Cache, timeout ve retry kararları yalnız backend performansını değil kullanıcıya gösterilen offer'ın doğruluğunu da etkiler. Bu kavramlar SLO, freshness ve failure isolation ile birlikte tasarlanmalıdır.
Pratikte nasıl görünür?
Bir supplier p95 latency'si yükseldiğinde timeout, circuit breaker ve fallback cache birlikte çalışabilir. Ama stale fallback kullanıldıysa response hâlâ başarılı görünürken price-quality riski büyüyebilir.
Uygulamada sorulması gerekenler
- End-to-end latency budget nedir?
- Cache age ve source timestamp tutuluyor mu?
- Hangi error class retry ediliyor?
- Bir provider failure diğer supplier'ları etkiliyor mu?
Yaygın hatalar
- Tüm error'ları retry etmek
- Cache hit ratio'yu freshness'ten bağımsız optimize etmek
- Tek provider failure'ın tüm fan-out'u bloklamasına izin vermek
Travel stack içinde nerede kullanılır?
Saga, çoğunlukla resilience, transaction katmanlarıyla ilişkilidir. İlgili sistemlerde source-of-truth, identity, freshness ve transaction ownership sınırlarını açık tanımlamak gerekir.
İlgili terimler
İlgili teknik içerikler
Payment + Booking Distributed Transaction
Travel booking'de payment ve supplier booking adımlarını distributed transaction olarak modelleyin; authorize, capture, compensation, UNKNOWN outcome ve reconciliation desenlerini uygulayın.
İncele →Travel Booking Saga ve Compensation Patterns
Travel booking, payment, cancellation ve refund akışlarında rollback yerine Saga ve compensation desenlerini tasarlayın.
İncele →Travel Observability, Trace ve Correlation Model
Search'ten booking ve servicing'e kadar travel transaction'larını correlation ID, distributed trace, metrics ve structured event modeliyle izleyin.
İncele →Agentic Travel Transaction Safety
Agent loop, retry ve tool invocation kaynaklı duplicate booking/payment riskini idempotency, transaction guards ve UNKNOWN-aware recovery ile yönetin.
İncele →Stuba: B2B Hotel Distribution API Profili
Stuba'nın content, live availability, quote refresh, booking ve cancellation workflow'larını içeren hotel distribution API'lerini teknik olarak inceleyin.
İncele →ENUYGUN vs Skyscanner Türkiye: Comparable Dimensions
ENUYGUN ve Skyscanner'ı Türkiye bağlamında yalnız karşılaştırılabilir boyutlarda: discovery, transaction ownership, vertical kapsam, handoff ve developer modelinde karşılaştırın.
İncele →