Yeniden deneme ile devre kesmeyi ayırın
Retry, geçici sorunun düzeleceği beklentisiyle işlemi tekrar etmeyi hedefler. Circuit breaker ise başarısız olma ihtimali yüksek çağrıları bir süre durdurarak uygulamanın ve dış servisin yükünü sınırlar. Microsoft bu iki desenin farklı amaçları olduğunu ve birlikte kullanılırken davranışlarının uyumlu olması gerektiğini açıklar. [1]
Bu ayrım iş sonucunu da etkiler. Yanıt alınamayan bir ödeme isteğini gelişigüzel tekrar etmek yeni bir tahsilat riski oluşturabilir. Devreyi açmak da önceki isteğin sonucunu çözmez. İşlem kimliği, durum sorgulama ve uzlaştırma gibi iş kuralları ayrıca tasarlanmalıdır. Dayanıklılık bileşeni bunların yerine geçmez.
Üç durumu uygulamanın diline çevirin
Kapalı durumda çağrılar normal ilerler; hata koşulları oluşunca açık duruma geçilerek çağrılar hızla reddedilebilir. Yarı açık durumda ise sınırlı denemelerle toparlanma sınanır. [1] Kullanıcıya bu teknik isimleri aynen göstermek gerekmez; hangi işlemin geçici olarak kullanılamadığı anlaşılır biçimde anlatılmalıdır.
Varsayımsal mağazada ürün açıklaması görüntülenebiliyor, kargo fiyatı servisi ise yanıt vermiyor olsun. Ürün gezinmesi çalışmaya devam edebilir. Ancak kesin kargo ücreti bilinmeden sıfır ücret veya uydurma teslim tarihi göstermek uygun değildir. Alternatif akış, işletmenin gerçekten destekleyebildiği sınırlarla kurulmalıdır.
Fallback doğru ama sınırlı sonuç sunmalı
Önceden alınmış veri kullanılacaksa güncelliği ve uygunluğu değerlendirilmelidir. Eski bir ürün açıklaması bazı durumlarda kabul edilebilirken eski stok veya hesap bakiyesi kritik kararı yanıltabilir. “Varsayılan değer” seçimi yazılım geliştiricinin keyfi tercihi değil, işin riskine bağlı karardır.
Kullanıcıdan daha sonra tamamlanacak bir talep alınabiliyorsa bekleme ve iptal davranışı açıklansın. Sadece kuyruk kaydı oluşturulduğu halde işlem tamamlandı mesajı verilmesin. Sistem kısıtlı çalışırken hangi özelliklerin kullanılabildiğini ve hangilerinin doğrulama beklediğini ayrı gösterin.
Örnek kesinti kabul matrisi
| Olay | Beklenen koruma | İş sonucu |
|---|---|---|
| Dış servis sürekli hata veriyor | Çağrı yükü sınırlanır | Açık geçici durum |
| Yanıt çok yavaş | Uygun zaman aşımı çalışır | Belirsiz sonuç uzlaştırılır |
| Servis toparlanıyor | Sınırlı deneme yapılır | Ani yükle tekrar bozulmaz |
| Alternatif veri kullanılıyor | Güncellik ve kapsam kontrolü | Yanlış kesinlik verilmez |
Tablo bütün projelerde aynı eşikleri kullanmayı önermez. Hata türü, trafik ve dış servisin toparlanma davranışı ölçülerek karar verilsin. Kullanıcı hatası ile servis kesintisi aynı sayaçta birleştirilirse sağlıklı bir bağlantı gereksiz yere kapatılabilir. Çağrı türleri uygun kapsamda ayrılmalıdır.
Toparlanmayı ve yan etkileri birlikte izleyin
Devrenin durum değiştirmesi izlenebilir bir olay olsun. Uyarılar, hangi bağımlılığın etkilendiğini ve kullanıcıya ne olduğunu anlatabilsin. Sadece hata sayısının azalması başarı değildir; bütün çağrılar engellendiği için de hata sayısı değişmiş olabilir. Başarılı iş sonucu, reddedilen çağrı ve gecikme birlikte değerlendirilsin.
Kabul testinde kontrollü gecikme, sürekli hata ve kademeli düzelme senaryoları kullanın. Sağlık kontrolü gerçek müşteri siparişi veya ödeme üretmemelidir. Manuel sıfırlama gerekiyorsa yetkili ve kayıtlı olsun. Desenin eklenmesiyle kesintisizlik garantisi verilmesin; hangi bağımlılık ve hata türlerini kapsadığı açıkça teslim edilsin.
Sık sorulan sorular
Circuit breaker bütün hataları otomatik düzeltir mi?
Hayır. Başarısız çağrıların etkisini sınırlamaya yardımcı olur. Asıl servis sorununun giderilmesi ve belirsiz işlemlerin uzlaştırılması ayrı işlerdir.
Her dış servise aynı kural uygulanabilir mi?
Uygun olmayabilir. Ödeme, arama ve bildirim farklı yan etkiler taşır. Hata sınıfları, eşikler ve alternatif davranış iş akışına göre belirlenmelidir.
Teknik kaynaklar
Kaynaklar teknik kavramları destekler. Örnek tablolar ve senaryolar önerilen çalışma araçlarıdır; gerçek müşteri sonucu, bağımsız denetim veya platform garantisi değildir. Uygulama öncesinde kullanılan ürünün güncel koşulları kontrol edilmelidir.
Bu ihtiyacı çalışan bir sisteme dönüştürelim.
Mevcut sisteminizi, sorun yaşadığınız iş akışını ve beklediğiniz sonucu paylaşın. Ganz Dijital ile projenizin kapsamını ve kabul koşullarını netleştirin.
İlgili hizmeti inceleWhatsApp üzerinden görüşelim →Hazırlama notu: İçerik, belirtilen kaynaklar ve özgün örnek senaryolar kullanılarak yapay zekâ desteğiyle hazırlanmıştır. Sayısal örnekler aksi belirtilmedikçe varsayımsaldır. İşletmeye özel güvenlik, hukuki ve operasyonel gereksinimler ayrıca değerlendirilmelidir.