Durum durumu
Çoğu e-ticaret entegrasyonu basittir: sipariş verilir, stok düşürülür, e-posta gönderilir. PEAQ'ın durumu farklıdır. Bir müşteri PEAQ Plunge satın aldığında, satın alma işleminin yardımcı mobil uygulamada bir cihaz profili oluşturması gerekir — kendi API'si, kendi gecikmesi ve kendi hata modları olan ayrı bir arka uç sistemi. Naif yaklaşım senkrondur: ödeme cihaz API'sini çağırır, yanıt bekler, sonra siparişi onaylar. Sorun şu ki cihaz API'si yavaş veya geçici olarak kullanılamaz olduğunda, ödeme süresi dolar. Müşteriler karışır, yeniden denemeler kopya siparişler oluşturur. Bunu async kuyruk mimarisiyle çözdük. Ödeme endpoint'i tek bir şey yapar: siparişi kaydeder ve 300ms'nin altında onay döndürür. Cihaz hazırlama, yeniden deneme mantığı ve üstel geri çekilme garantileriyle arka plan işi olarak kuyruğa alınır.
Ne değiştirmeliydi
Sipariş tamamlanması ayrı bir mobil arka uçta cihaz hazırlamayı tetiklemek zorundaydı — ancak bu API çağrısı 2-5 saniye sürebiliyor ve zaman zaman başarısız oluyordu. Senkron entegrasyon, cihaz API'si yavaş olduğunda ödeme zaman aşımı anlamına geliyordu. Müşteriler eksik onaylar gördü ve 'siparişim geçti mi?' destek talepleri patladı.
Ne değiştik
Tam async kuyruk ayrımı: ödeme siparişi kaydeder ve hemen döner. Arka plan çalışanı hazırlama işini alır, yeniden denemeler ve üstel geri çekilmeyle cihaz API'sini çağırır, başarılı olduğunda siparişi hazırlanmış olarak işaretler. Yeniden denemelerden sonra başarısız olursa, destek ekibi uyarı alır — müşteri değil. Lansmandan bu yana sıfır ödeme zaman aşımı.
Müşteri ne kazandı
- 01 Sıfır ödeme zaman aşımı — async cihaz hazırlama
- 02 Üstel geri çekilmeli yeniden deneme güvenli kuyruk çalışanları
- 03 Personel tarafından düzenlenebilen iki dilli ürün DB
- 04 Mağazayı uygulama arka ucundan ayıran temiz API sözleşmesi