Entegrasyon

Tedarikçi API'si 40 Saniye Cevap Vermeyince Bütün Siteni Kim Kilitliyor? E-Pin Scriptinde Zaman Aşımı Ayarlarının Konuşulmayan Tarafı

Tedarikçi API'si yavaşladığında e-pin satış scripti neden tamamen durur? Bağlantı ve okuma zaman aşımı, süre bütçesi ve tekrar deneme ayarlarının doğru kurulumu.

Tedarikçi API'si 40 Saniye Cevap Vermeyince Bütün Siteni Kim Kilitliyor? E-Pin Scriptinde Zaman Aşımı Ayarlarının Konuşulmayan Tarafı

Çoğu kişi tedarikçi yavaşladığında sadece o ürünün teslimatının geciktiğini sanır. Gerçekte olan şey çok daha büyüktür: yavaş bir tedarikçi, doğru ayarlanmamış bir sistemde bütün siteyi rehin alır. Bir istek cevap bekler, arkasında ikincisi birikir, üçüncüsü PHP işçisini tutar, onuncusunda ana sayfa bile açılmaz olur. Müşteri “site çöktü” diye yazar, sen sunucuya bakarsın, işlemci rahat, bellek rahat, her şey yerinde. Çünkü sorun kaynakta değil, beklemekte.

Zaman aşımı ayarı bu yüzden teknik bir detay değil, ticari bir karardır. Kaç saniye beklemeye razı olduğunu belirlemezsen, kararı senin yerine tedarikçinin en kötü günü verir. Bu yazıda bağlantı ve okuma sürelerini neden ayrı düşünmen gerektiğini, tek bir siparişin toplam süre bütçesini nasıl kuracağını, tekrar denemenin hangi durumda faydalı hangi durumda felaket olduğunu ve yavaşlığı gecikmeye değil kuyruğa çevirerek nasıl hayatta kalacağını anlatıyorum. Hangi e-pin satış scripti ile çalışıyorsan çalış, bu çerçeve değişmez.

4 snSağlıklı bir tedarikçi çağrısı için makul üst sınır
%90Site kilitlenmelerinde suçlu olan tek bir yavaş uç nokta
2 denemeAnlamlı tekrarın pratik üst limiti
12 snBir siparişin toplam süre bütçesi için hedef

Bağlantı Zaman Aşımı ile Okuma Zaman Aşımını Aynı Şey Sanmak Nereye Götürür?

İki farklı bekleme vardır ve ikisi bambaşka arızaları anlatır. Bağlantı zaman aşımı, karşı tarafın kapısını çalıp açılmasını beklediğin süredir; tedarikçinin sunucusu tamamen düşmüşse ya da ağ yolu koptuysa burada takılırsın. Okuma zaman aşımı ise kapı açıldıktan sonra cevabın gelmesini beklediğin süredir; tedarikçi ayaktadır ama veritabanı boğulmuştur. Tek bir ayarla ikisini yönetmeye çalışmak, iki farklı hastalığa aynı ilacı vermektir.

Pratikte bağlantı süresi kısa olmalıdır, çünkü ağ ya vardır ya yoktur; iki üç saniye içinde el sıkışılmıyorsa beklemenin faydası yoktur. Okuma süresi ise uç noktanın işine göre değişir: bakiye sorgusu bir saniyede dönmeli, kod çekme işlemi birkaç saniye alabilir. Ciddi bir dijital ürün satış scripti bu iki değeri entegrasyon bazında ayrı ayrı tanımlamana izin verir, tek bir genel ayara mahkum etmez.

Çağrı türüBağlantı süresiOkuma süresiTekrar denenir miZaman aşımında davranış
Bakiye sorgusu2 sn3 snEvetÖnbellekteki son değeri göster
Stok kontrolü2 sn4 snEvetÜrünü geçici olarak kapat
Kod satın alma3 sn8 snHayırSiparişi beklemeye al, sorgula
Sipariş durumu sorgusu2 sn5 snEvetKuyrukta tekrar dene
İptal ve iade3 sn6 snEvetElle inceleme kuyruğuna at

Siparişin Toplam Süre Bütçesi Yoksa Her Ayar Kağıt Üstünde Kalır

Tek tek zaman aşımı vermek yetmez, çünkü bir sipariş genellikle tek çağrı değildir. Bakiye sorgusu, stok kontrolü, satın alma, durum doğrulama... Her birine sekiz saniye verdiysen, en kötü senaryoda müşteri otuz saniyeden fazla ekranda bekler ve çoğu sekmeyi kapatır. Bu yüzden mantığı ters kurman gerekir: önce siparişin tamamına bir bütçe koy, sonra o bütçeyi adımlara paylaştır.

Bütçe düşüncesi ayrıca akıllı davranmayı mümkün kılar. İlk iki adım beklenenden uzun sürdüyse, geriye kalan bütçe azalmıştır ve son adıma daha kısa bir süre tanınır. Bütçe tükendiğinde sipariş hata vermez; “işleniyor” durumuna geçer ve arka planda takip edilir. Böylece e-pin yazılımı müşteriye beklemek yerine bir söz verir ve o sözü kuyrukta tutar.

Tekrar Denemek Ne Zaman İlaç, Ne Zaman Zehir?

Tekrar deneme okuma amaçlı çağrılarda ilaçtır, para harcayan çağrılarda zehirdir. Bakiye sorgusu zaman aşımına uğradıysa tekrar sormanın zararı yoktur. Ama kod satın alma isteği zaman aşımına uğradıysa, istek karşı tarafa ulaşmış ve işlenmiş olabilir; tekrar denersen aynı siparişe ikinci kez kod satın alırsın ve parayı iki kez ödersin. Buradaki tek güvenli yol, tedarikçinin kabul ettiği bir tekillik anahtarı göndermek ve zaman aşımından sonra satın almayı tekrar etmek yerine durumu sorgulamaktır.

Tekrar denemelerin arasına artan bekleme koymak da şarttır. Yavaşlayan bir sisteme aynı anda üç kat istek yağdırmak, onu tamamen düşürmenin en hızlı yoludur. Gecikmeyi katlayarak arttır, üzerine küçük bir rastgelelik ekle ve toplam deneme sayısını ikiyi geçirme. Olgun bir epin yazılım kurgusunda bu davranış entegrasyonun kendi ayarında yazılıdır, geliştiricinin hatırlamasına bırakılmaz.

Yavaş tedarikçi kaynaklı arızaların dağılımı

  • Sınırsız bekleyen çağrı 40%
  • Yanlış tekrar deneme 30%
  • Ortak kaynak tükenmesi 20%
  • Hatalı durum eşlemesi 10%

Zaman Aşımı Sonrası Sipariş Hangi Durumda Kalmalı?

En pahalı hata, zaman aşımını başarısızlık saymaktır. Tedarikçiye ulaşan ama cevabı dönmeyen bir satın alma isteği çoğu zaman gerçekleşmiştir. Siparişi iptal edip müşteriye para iade ederseniz, tedarikçide ödenmiş bir kod kalır ve o kod kimseye teslim edilmez; zararı sen yazarsın. Doğru yaklaşım, bu siparişi belirsiz diye işaretlemek ve arka plan işçisinin tedarikçi durum sorgusuyla gerçeği öğrenmesini beklemektir.

Bu yüzden sipariş durumları arasında mutlaka “doğrulanıyor” gibi bir ara basamak bulunmalıdır. Müşteriye gösterilen mesaj da netleşir: kodun hazırlanıyor, en geç birkaç dakika içinde panelinde ve mailinde olacak. Beklemenin adı konduğunda müşteri sabreder; adı konmadığında destek kanalını doldurur. Bu tür durum yönetiminin bir e-pin satış yazılımı içinde hazır gelmesi, sonradan yazılmasından çok daha sağlıklıdır.

Bir gecede fark yaratan ayar

Tedarikçi çağrılarını web isteğinin içinden çıkar, arka plan kuyruğuna taşı. Böylece tedarikçi yavaşladığında sadece teslimat gecikir, siten ayakta kalır. Bu tek değişiklik kilitlenme şikayetlerinin çoğunu bitirir.

Yavaşlığı Nasıl Ölçersin ve Hangi Eşikte Alarm Çalmalı?

Ortalama yanıt süresi yanıltıcı bir ölçüdür; yüz çağrıdan doksan beşi hızlıysa ortalama güzel görünür, ama sana zarar veren o beş çağrıdır. Bu yüzden dilim değerlerine bakılır: çağrıların yüzde doksan beşi kaç saniyede dönüyor, en yavaş yüzde biri nerede duruyor. Alarm eşiğini de buna göre koyarsın. Bir uç noktanın yavaş dilimi normalinin iki katına çıktığında haber alman gerekir, müşteri yazdığında değil.

Her entegrasyon için tek bir panelde toplanmış üç sayı yeterlidir: yavaş dilim süresi, zaman aşımı oranı ve belirsiz kalan sipariş sayısı. Bu üç sayı tedarikçinin sağlığını sana her gün özetler; hangi tedarikçiyi yedeklemen gerektiğini, hangisiyle konuşman gerektiğini ve hangi ürünü geçici olarak kapatmanın daha akıllı olduğunu buradan görürsün. Teknik ayrıntıların ürün tarafında nasıl karşılandığını özellikler bölümünde inceleyebilirsin.

KontrolŞu an ne yapıyorsunOlması gerekenÖncelik
Bağlantı ve okuma ayrımıTek genel süreUç nokta bazında iki ayrı değerYüksek
Toplam süre bütçesiTanımsızSipariş başına üst sınırYüksek
Satın almada tekrarOtomatik tekrarTekrar yok, durum sorgusu varKritik
Belirsiz sipariş durumuDoğrudan iptalDoğrulama kuyruğuKritik
Arka plan kuyruğuİstek içinde çağrıKuyruk üzerinden teslimatYüksek
Yavaş dilim alarmıOrtalamaya bakılıyorYavaş dilim eşiğiOrta

Tedarikçinin kötü günü senin kötü günün olmasın

Entegrasyon bazında zaman aşımı, kuyruklu teslimat ve doğrulama akışı hazır gelen bir altyapı, gece uykunun bölünmemesi demektir. Paket karşılaştırması için fiyat bölümüne göz at.

Zaman aşımı süresini uzatmak daha az hata vermez mi?

Daha az hata mesajı verir ama daha çok kilitlenme üretir. Uzun bekleme, sunucu işçilerini tüketir ve sonunda siteyi tamamen erişilemez yapar. Kısa süre artı kuyruk her zaman daha sağlıklıdır.

Satın alma isteği zaman aşımına uğradı, para gitti mi?

Bilinmez, bu yüzden varsayım yapılmaz. Siparişi doğrulama durumunda tut ve tedarikçiden sipariş durumunu sorgula. Kesin cevabı aldıktan sonra teslim et ya da iade başlat.

Her tedarikçiye aynı ayarları verebilir miyim?

Veremezsin. Her tedarikçinin altyapısı ve yoğun saatleri farklıdır. Ayarları entegrasyon bazında tanımlamak, tek genel değerden kat kat daha iyi sonuç verir.

Yavaş tedarikçide ürünü kapatmak satışı düşürmez mi?

Kısa vadede düşürür, uzun vadede kurtarır. Teslim edilemeyen sipariş satış değil, iade ve itibar kaybıdır. Ürünü geçici kapatmak daha ucuz bir karardır.

Zaman aşımı ayarı, tedarikçine duyduğun güvenin sayıya dönüşmüş halidir. Bu sayıları bilinçli koyduğun gün, yavaşlayan bir uç nokta artık kriz değil sadece bir bildirim olur. Kuyruklu teslimat, doğrulama durumları ve entegrasyon bazlı süre ayarlarının gerçek bir panelde nasıl göründüğünü merak ediyorsan canlı demo üzerinde bir sipariş oluşturup akışın her adımını kendin 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