في مثال افتراضي، يرى عميلان قطعة واحدة متاحة ويضغطان الشراء في اللحظة نفسها. إذا قرأ كل طلب الكمية ثم حدثها دون ضبط التزامن، قد يقبل المتجر عمليتين لقطعة واحدة. منع البيع الزائد يحتاج تعريف الحجز وحالات الطلب واختبارًا متزامنًا، وليس مجرد إخفاء زر الشراء بعد تحديث الشاشة.
حدد متى تصبح القطعة محجوزة
اتفق على الفرق بين الكمية الفعلية والمحجوزة والمتاحة للبيع. هل يبدأ الحجز عند دخول السلة أم بدء الدفع؟ ما مدته وكيف ينتهي؟ هذه قرارات تجارية يجب توثيقها قبل اختيار آلية قاعدة البيانات. لا تجعل بقاء تبويب مفتوح يحجز السلعة إلى أجل غير معلوم دون سياسة مقصودة.
اكتب انتقالات الحالة: متاح، محجوز، مؤكد، أو محرر. اربط الحجز بطلب معروف ومعرّف يمنع تطبيق الإجراء نفسه مرتين. إذا كانت هناك فروع أو مستودعات، حدد مخزون أي موقع يُحجز، وكيف تظهر التحويلات بين المستودعات في نظام ERP والمتجر.
اختبر الذرية عند وجود طلبين
تشرح وثائق PostgreSQL 17 للأقفال أن SELECT FOR UPDATE يقفل الصفوف المسترجعة ضد كتابات أو أقفال متعارضة حتى تنتهي المعاملة، مع احتمال الانتظار والتعارض. هذا أحد الأدوات الممكنة، وليس وصفة وحيدة لكل متجر. يجب أن تكون قراءة المتاح وتغييره منسقتين بصورة ذرية وفق تصميم النظام.
إذا اختار الفريق قفل صف المخزون، تأكد من وجود الصف المقصود ومن قصر المعاملة. لا تترك معاملة قاعدة البيانات مفتوحة طوال اتصال دفع خارجي بطيء. راجع ترتيب الأقفال وحالات التعارض وإعادة المحاولة المحدودة، مع الاختبار على محرك قاعدة البيانات وإعداد العزل المستخدمين فعلًا.
اجمع سيناريوهات الدفع وانتهاء المهلة
| الحالة التجريبية | دليل القبول المقترح |
|---|---|
| طلبان لآخر قطعة | حجز واحد ناجح ورسالة واضحة للآخر |
| فشل الدفع | تحرير الحجز حسب السياسة دون مضاعفة الكمية |
| انتهاء المهلة | تحرير مرة واحدة وأثر مراجعة واضح |
| تأكيد دفع متأخر | مسار معالجة محدد بعد التحقق من حالة الحجز |
شغل طلبين متزامنين في بيئة اختبار بمخزون مصطنع، ثم راجع الطلبات والحجوزات والكمية النهائية. تجربة متتابعة لا تكشف سباق التزامن. كرر إشعار التأكيد التجريبي وتحقق أن الكمية لا تخصم مرتين، وأن الدعم يستطيع تفسير النتيجة من سجلات مرتبطة بالطلب.
راجع التطابق بين الأنظمة
إذا كان ERP مصدر الحقيقة، حدد كيف يتعامل المتجر مع تأخر مزامنة المخزون، وما النظام الذي يحسم قبول الحجز. راقب الفرق بين الأرقام دون الكتابة فوقه تلقائيًا بطريقة تمحو حجوزات صحيحة. معالجة الدفع المتأخر أو نفاد السلعة تحتاج سياسة معتمدة من فريق العمل، لا قرارًا تقنيًا مخفيًا.
ضمن ربط نظام ERP مع المتجر الإلكتروني سلّم حالات التزامن والاستثناءات مع دليلها. النجاح هو تطابق حركة المخزون وحالة الطلب ورسالة العميل تحت الضغط، مع إجراء واضح للاستثناءات؛ عرض رقم صحيح قبل الشراء لا يكفي لإثبات أن آخر قطعة لن تباع مرتين.




