ETicaret senaryolarda yarış koşulları kaçının

0 Cevap php

Müvekkilim elektronik satan bir e-ticaret web sitesi var ve bir ürün onların envanterinde var daha fazla kez satışa durumlar olmuştur. Iki kullanıcı stokta kalan sadece bir ürün olduğunu, aynı zamanda bir ürün satın alırsanız, diğer oturumu başlamadan önce tükendi (yani orada bir düşünme, normal olarak devam eder gibi, bir oturum ürünü tescil bitirmek değil çünkü bu sol) bir kontrol işleminin başında yer olsa bile. Bu tabii ki (ödeme ücret, para iadesi, vb) ve tüketiciler için rahatsızlık para mal olacak.

Varsa Yani ben bu sorunu gidermek için yine de merak ediyorum? Ben envanter kontrol ediyorum ve tükendi eğer, bu tür böylece onu satın diğer oturumları önlenmesi gibi ürün etiket olur, yani sürecin başında "işaretleyici" oluşturma düşündüm. Ama bu aynı zamanda daha fazla sorun yaratır: bir şey müşterinin tarafında olur ki onları satılan ürün olarak işaretlenmiş olsa bile o, (vb güç kaybetti) orta işlemini iptal neden olur, aslında kasada beri satmadı süreç bitiremedi. Bu olay devam ederse, bir ürün stok olacaktır. İkincisi, başka bir oturum olarak satılan, bu nedenle ilk oturum, ikinci oturum zaten aldım bile devam edeceğini işaretleme WHILE bir oturum envanter kontrol etmek için de mümkündür. Bu orijinal problem bizi geri götürür.

Ben veritabanı sonunda tablo lockings bakıyorum, ama iyi fikir şu emin değilim. Herhangi bir öneriniz son derece mutluluk duyacağız!

Thanks, dyip

0 Cevap