Teknik

Tek Tedarikçi Çöktü Diye Neden Bütün Sitenin Sepeti Durdu? E-Pin Scriptinde Devre Kesici Desenini Kimse Sana Böyle Anlatmadı

Bir tedarikçi çökünce tüm site neden durur? E-pin satış scriptinde devre kesici deseni ile arızayı izole etme, eşik belirleme ve yarı açık deneme rehberi.

Tek Tedarikçi Çöktü Diye Neden Bütün Sitenin Sepeti Durdu? E-Pin Scriptinde Devre Kesici Desenini Kimse Sana Böyle Anlatmadı

Çoğu kişi bir tedarikçi çöktüğünde sadece o tedarikçinin ürünlerinin satılamayacağını sanır. Oysa gerçek çok daha can sıkıcıdır: ölçüsüz kurulmuş bir sistemde çöken tedarikçi, satmadığı ürünlerin bile satışını durdurur. Çünkü o tedarikçiye giden her istek cevap bekler, bekleyen her istek bir sunucu işçisini tutar ve işçiler bitince ana sayfan bile açılmaz. Sen bir markanın altyapısını kaybetmişken bütün cironu kaybedersin.

Devre kesici deseni tam bu yüzden var. Adı elektrikten gelir: sigorta atar, ev karanlıkta kalmaz, sadece arızalı hat kapanır. Yazılımda da aynısı olur; ardı ardına hata veren bir tedarikçi kanalı otomatik olarak kapatılır, o kanala giden istekler beklemeden ve anında reddedilir, geri kalan her şey çalışmaya devam eder. Bu yazıda kesiciyi hangi sinyalle açacağını, eşiği nasıl koyacağını, kanalı ne zaman yeniden deneyeceğini ve kullanıcıya ne göstereceğini sırayla anlatıyorum. Kullandığın e-pin scripti hangisi olursa olsun, bu desen olmadan büyümek riskli bir kumardır.

5 hataKesiciyi açmak için tipik ardışık hata eşiği
60 snKanalı yeniden denemeden önce beklenen süre
1 istekYarı açık durumda gönderilen deneme sayısı
%0Kesici açıkken müşterinin boşa bekleme oranı

Bir Tedarikçi Arızası Nasıl Olup Bütün Siteyi Yutuyor?

Arızanın bulaşma mekanizması tek kelimeyle anlatılabilir: paylaşılan kaynak. Web sunucunda sınırlı sayıda işçi süreci, veritabanında sınırlı sayıda bağlantı, kuyrukta sınırlı sayıda çalışan vardır. Yavaşlayan bir tedarikçi bu havuzların hepsini aynı anda içmeye başlar. Otuz saniye bekleyen elli istek, elli işçiyi otuz saniye boyunca rehin alır. Bu süre içinde gelen normal bir ziyaretçi sıraya girer ve zaman aşımına uğrar. Sonuçta arıza tedarikçidedir ama fatura senin sitene yazılır.

Bu tabloda hata mesajlarını iyileştirmek işe yaramaz, çünkü sorun mesajda değil kaynakta. Yapılması gereken şey isteğin hiç başlamaması, yani arızalı kanala giden yolun kapanmasıdır. Sağlam bir dijital ürün satış scripti her entegrasyonu kendi kapasitesiyle sınırlı, kendi sigortası olan bağımsız bir hat gibi ele alır.

Kesici Hangi Sinyalle Açılmalı, Hangi Hatayı Saymamalı?

Bütün hatalar aynı anlama gelmez ve kesiciyi her hatada atmak zarar verir. Zaman aşımları, bağlantı reddi, beşyüzlü sunucu hataları ve boş cevaplar sistemik sorun işaretidir; bunlar sayılır. Buna karşılık “bakiyeniz yetersiz”, “ürün stokta yok” ya da “geçersiz parametre” gibi iş kuralı cevapları tedarikçinin sağlıklı çalıştığını kanıtlar; bunlar sayılmaz. Bu ayrımı yapmayan bir kesici, yanlış yapılandırılmış tek bir ürün yüzünden çalışan bir tedarikçiyi kapatır.

Eşik belirlerken de iki ölçüt birlikte kullanılır: ardışık hata sayısı ve belirli bir pencere içindeki hata oranı. Beş ardışık zaman aşımı ya da son kırk çağrının yüzde ellisinden fazlasının hatalı olması gibi. Trafiği düşük bir kanalda oran yanıltıcıdır, bu yüzden minimum çağrı sayısı şartı da eklenir. Böylece e-pin satış yazılımı ne aşırı tedirgin ne de aşırı sabırlı davranır.

Kesici durumuNe anlama gelirİsteklere ne olurÇıkış koşulu
KapalıKanal sağlıklıNormal şekilde iletilirEşik aşılırsa açılır
AçıkKanal arızalı kabul edildiAnında ve beklemeden reddedilirBekleme süresi dolunca
Yarı açıkİyileşme sınanıyorTek deneme isteği geçerBaşarı kapatır, hata yeniden açar
Elle kapatılmışOperatör kararıHiçbir istek gönderilmezYalnızca elle açılır
KısıtlıKısmi iyileşmeSınırlı oranda istek geçerOran kademeli yükseltilir

Yarı Açık Durum Neden Desenin En Kritik Parçasıdır?

Kesiciyi açmak kolaydır, zor olan doğru zamanda kapatmaktır. Süre dolduğunda bütün trafiği bir anda geri açarsan, henüz toparlanmamış tedarikçiyi tekrar yere serer ve kendini sonsuz bir aç-kapa döngüsünde bulursun. Yarı açık durum bunu engeller: kanal tek bir deneme isteğine izin verir. O istek başarılı dönerse kesici kapanır ve hayat normale döner; başarısız olursa kesici yeniden açılır, bu kez daha uzun bir bekleme süresiyle.

Bu kademeli geri dönüş, tedarikçiye nefes alma alanı bırakır. İstersen tek istek yerine küçük bir oranla, örneğin trafiğin yüzde onuyla başlayıp kademeli yükseltebilirsin. Hangi yolu seçersen seç, kural aynıdır: iyileşme varsayımla değil kanıtla ilan edilir. Bu davranışın hazır geldiği bir epin yazılım altyapısı, gece yarısı panel başında oturma ihtiyacını büyük ölçüde ortadan kaldırır.

Kesici açıldığında karşılaşılan sinyallerin dağılımı

  • Zaman aşımı 50%
  • Sunucu tarafı hata 25%
  • Bağlantı reddi 15%
  • Bozuk veya boş cevap 10%

Kesiciyi Tedarikçi Bazında Değil Kanal Bazında Kurmalısın

Yaygın bir hata, kesiciyi tedarikçinin tamamına tek bir anahtar olarak takmaktır. Oysa bir tedarikçinin kod satın alma uç noktası çökmüşken bakiye sorgusu pekala çalışıyor olabilir. Tek anahtar, çalışan hizmetleri de kapatarak zararı büyütür. Doğru yaklaşım her uç noktayı ya da her ürün grubunu ayrı bir kanal saymak ve her kanala kendi kesicisini vermektir.

Bu ayrıştırma bir başka avantaj getirir: aynı ürünü iki farklı tedarikçiden alıyorsan, biri kesildiğinde sipariş otomatik olarak diğerine yönlenir ve müşteri hiçbir şey fark etmez. İşte devre kesicinin gerçek ödülü budur; arızayı sadece gizlemek değil, arıza anında ticareti sürdürmek. Yedekli yönlendirme ve kanal bazlı izolasyonun ürün tarafında nasıl karşılandığını görmek için özellikler bölümüne bakabilirsin.

Kesiciyi kurarken atlanan şey

Kesicinin durumunu tek bir sunucunun belleğinde tutarsan, çok sunuculu kurulumda her sunucu ayrı karar verir. Durumu paylaşılan bir depoda tut; aksi halde bir sunucu kanalı kapatırken diğeri tedarikçiyi dövmeye devam eder.

Kesici Açıkken Müşteriye Ne Göstermek Satışı Kurtarır?

Devre kesici teknik bir mekanizmadır ama müşteriye dönen yüzü tamamen ticarettir. Kanal kapalıyken “bir hata oluştu” yazmak en kötü seçenektir, çünkü müşteri bunu kendi ödemesiyle ilgili bir sorun sanır ve güvenini kaybeder. Bunun yerine ürünü geçici olarak satışa kapatmak, sepette net bir bilgi vermek ve mümkünse stok gelince haber verme seçeneği sunmak gerekir. Böylece kaybettiğin şey bir satış olur, bir müşteri olmaz.

Ödeme çekildikten sonra kesici devreye girdiyse hikaye değişir. Orada müşteriye asla hata gösterilmez; sipariş “hazırlanıyor” durumuna alınır, kuyruğa yazılır ve kanal açıldığında otomatik tamamlanır. Belirli bir süre içinde açılmazsa otomatik iade tetiklenir ve müşteri bilgilendirilir. Bu iki yollu kurgu, e-pin yazılımı ile yönetilen bir işletmede kriz anlarının itibar kaybına dönüşmesini engeller.

Kesicinin Çalıştığını Nasıl Kanıtlarsın?

Kurduğun ama hiç test etmediğin bir kesici, olmayan kesiciden daha tehlikelidir; çünkü sana güven verir. Test yöntemi basittir: bir kanalı test ortamında kasıtlı olarak cevap vermeyen bir adrese yönlendir ve gerçekten ne olduğunu izle. Beklediğin davranış şudur: ilk birkaç istek zaman aşımına uğrar, eşik dolduğunda kesici açılır, sonraki istekler beklemeden reddedilir, site hızını hiç kaybetmez, bekleme süresi sonunda tek bir deneme gider. Bu zinciri bir kez kendi gözünle görmeden kesici kurulmuş sayılmaz.

Kontrol maddesiBeklenen davranışNasıl test edilirDurum
Kanal bazlı izolasyonDiğer kanallar etkilenmezTek uç noktayı bozup ölçZorunlu
Hata sınıflandırmasıİş kuralı hatası sayılmazStokta yok cevabı üretZorunlu
Paylaşılan durumTüm sunucular aynı kararı görürİki sunucuda eşzamanlı izleZorunlu
Yarı açık denemeTek istek gönderilirBekleme sonunda log sayZorunlu
Yedek tedarikçi devriSipariş alternatife giderBirinciyi kapatıp sipariş verÖnerilir
Otomatik iade zinciriSüre dolunca iade başlarKuyrukta bekleyen sipariş bırakÖnerilir

Arıza bir hatta kalsın, siten ayakta durmaya devam etsin

Kanal bazlı kesici, yedekli tedarikçi yönlendirmesi ve otomatik iade zinciri hazır gelen bir altyapıyla çalışmak, büyüdükçe daha az korkmak demektir. Paketleri fiyat bölümünden karşılaştırabilirsin.

Devre kesici küçük bir site için fazla mı gelişmiş?

Hayır, tam tersine küçük siteler için daha kritiktir. Sunucu kaynağı sınırlıdır ve tek yavaş tedarikçi bütün siteyi kolayca düşürür. Küçük ölçekte kesici, büyük ölçekte lüks değil zorunluluktur.

Kesici açılınca satış tamamen duruyor mu?

Sadece o kanaldaki satış durur. Diğer ürünler, ödeme, üyelik ve panel normal çalışmaya devam eder. Aynı ürün için yedek tedarikçi tanımlıysa satış hiç kesilmez.

Eşik değerini kaç yapmalıyım?

Beş ardışık sistemik hata ve kırk çağrılık pencerede yüzde elli hata oranı iyi bir başlangıçtır. Sonrasında kanalın gerçek davranışına göre ayarla; çok agresif eşik gereksiz kesintiye, çok gevşek eşik kilitlenmeye yol açar.

Kesici açıkken ödeme almaya devam etmeli miyim?

Ürünü satışa kapatmak en temizidir. Ödeme alınmışsa siparişi beklemeye al, kanal açılınca teslim et, makul süre içinde açılmazsa otomatik iade et ve müşteriyi bilgilendir.

Devre kesici, sistemine “her şey yolunda gitmeyecek” gerçeğini kabul ettirmenin en olgun yoludur. Bir kez kurulduğunda tedarikçi arızaları senin için krizden çıkıp sıradan bir operasyon kaydına dönüşür. Kanal bazlı kesicinin, yedekli yönlendirmenin ve bekleyen sipariş kuyruğunun gerçek bir yönetim panelinde nasıl göründüğünü görmek istiyorsan canlı demo üzerinden entegrasyon ekranlarını gezip bir siparişin yolculuğunu baştan sona izleyebilirsin.

Daha Fazlasını Keşfedin

Dijital ürün satışı ve otomasyon üzerine güncel rehberlere göz atın.

Tüm Yazıları Gör →
Bu yazıyı paylaşın
Bu yazıyı beğendiniz mi?
Teşekkürler!
← Tüm yazılar