Flashsale — نظام تحكم في التزامن لأوقات الضغط العالي

تفاصيل العمل

التحدي الهندسي:

أغلب المتاجر الإلكترونية تفشل عادة لاخلال التزامن Concurrency على مستوى المخزون —

عندما يضغط آلاف أو مئات الآلاف من المستخدمين "شراء" في نفس اللحظة، النظام التقليدي ينهار بسبب:

- تأخيرات في قواعد البيانات

- عمليات كتابة متضاربة

- فقد كفاءة الأداء تحت الحمل

المعنى: السيطرة على الحالة المشتركة تحت ضغط عالي ليست مجرد endpoint،

بل هي نظام متحكم في تدفق الطلبات والموارد.

الحل الهندسي:

1. Backpressure قبل كل شيء

بدون السماح للطلبات بالتراكم داخل الخادم، يتم التحكم في الحمل مبكرًا عند الحافة.

2. Atomic Stock عبر Redis

احتساب المخزون عبر عدّادات Redis

تفادي overselling وطرح السحب من DB بطيء

3. Event-Driven Workers

API يستقبل الطلب فقط إذا كان هناك سعة

Web workers تتولى المعالجة الثقيلة (إنشاء الطلب + الدفع + التخزين)

وتحديث الحالة يتم عبر SSE (Server-Sent Events) للعملاء

4. بنية موزعة واضحة

API خفيف + نظام FIFO + Redis Queue + Pub/Sub

) الأداء يصبح قابلًا للقياس والتحكم(

بعض الصور التوضيحية لقبل وبعد تحسين النظام:

أيضاً بعض المرفقات لإختبار الموقع تحت ضغط 100K req/s للشراء

بطاقة العمل

اسم المستقل
عدد الإعجابات
0
عدد المشاهدات
1
تاريخ الإضافة
المهارات