تصميم API نظام توصيل مطعم + تتبع حالات الطلب والتوصيل realtime

تفاصيل العمل

الأنظمة اللي تعتمد CRUD عادي تنهار تحت الحمل الحقيقي لأن كل تغيير حالة يحاول يعالج كل شيء في نفس الطلب — وهذا يسبب:

- تأخير في الاستجابة

- ضغط عالي على قاعدة البيانات

- تحديثات غير متسقة للحالة

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

الحل:

- فصل المنطق إلى Fast Path + Heavy Path

- Fast Path يستقبل الطلب بسرعة

- Heavy Path يتعامل مع معالجة الحالة بالتزامن عبر عمليات Workers

- ربط الحالات بـ Event-Driven Architecture

- بث الحالة في الوقت الحقيقي عبر SSE (Server-Sent Events) بدل Polling — يقلل من الضغط على الخادم وقاعدة البيانات

- استخدام Redis Pub/Sub كطبقة للتواصل بين مكونات النظام

- إدارة العمليات عبر PM2 Workers

- ضمان التناسق والسرعة في حالات الحمل العالية

النتائج:

- استجابة API سريعة حتى عند عدد طلبات كبير

- تقليل الضغط على قاعدة البيانات

- تحديث حالة الطلبات في الوقت الحقيقي بدون استهلاك موارد زائدة

- تصميم بنيوي واضح يفصل واجهات الاستقبال عن المعالجة الثقيلة

بطاقة العمل

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