Compensation
Dağıtık workflow'da tamamlanmış bir adımın etkisini tersine çevirmek için uygulanan business aksiyonudur; örneğin booking başarısızsa authorization void etmek.
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?
Compensation, ç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 →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 →Duplicate Booking After Retry Troubleshooting
Timeout veya retry sonrası oluşan duplicate travel booking'leri identify edin, kanıt toplayın, doğru rezervasyonu koruyup güvenli compensation uygulayın.
İncele →Payment Authorized/Captured ama Booking Unknown/Failed
Payment başarılı görünürken booking unknown veya failed olduğunda divergence'ı diagnose edin, recovery ve compensation kararlarını güvenli verin.
İ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 →