ماهي فكرة برمجة إشعارات مثل الفيسبوك أو تويتر... ؟

المواقع الكبري تستخدم إشعارات أثناء حدوث أي تغير في قاعدة البيانات (نشر بوست، إعجاب، إضافة لقائمة الأصدقاء...) و إضهار ذالك الحدث لمستخدم معين كما الفيس بوك، تيوتر، لينكدإن...

لنفترض أننا نملك قاعدة بيانات بها جداول مستخدمين و أدمين و منتجات...

ماهي الفكرة العامة لبرمجة الإشعارات وعند إضافة منتج يظهر إشعار للمستخدمين و أيضا عندما يقوم المستخدم بتقيم أو وضع المنتج في المفضلة يظهر إشعار للأدمين، مثل مصنة حسوب io

ماهي الحلول لإستخدام الإشعارات، وماهي اللغات المستخدمة.

فكرتي البسيطة هي إنشاء جدول خاص بالإشعارت ومن خلال ajax تقوم الدوال بفحص الجدول كل بضع ثواني وإذا حدث تغير يظهر إشعار معين لمستخدم معين على حسب العلاقات في قاعدة البيانات.

لكن هذا لا يعتبر حل ناجح لأنه يسبب إنهيار للتطبيق من خلال الضغط على قاعدة البيانات و السرفر.

هل يوجد أفكار أخري بإستخدام node.js أو أي حلول أخري

يرجى الدخول لحسابك أو تسجيل حساب لتستطيع إضافة تعليق
حساب جديد دخول

التعليقات

الاغلب يستخدم ال ويب سوكيت في حالة الويب (websocket) وهذا يبقي اتصال مفتوح بين الزائر والسيرفر، ويتبادلان المعلومات في الوقت الحقيقي (real time).

اما لمنصات الموبايل فالبعض يستخدم خدمات ال Push Notification مثل GCM للاندرويد وشيئ مشابه لل IOS

كما انه يمكن عملها باستخدام الويب سوكيت للموبايل ايضاً، فهناك مكتبات لذلك.

للأسف الأغلبية تستخدم طلبات متتالية -تزامنًا-، والبعض بات يستخدم طلب واحد مفتوحة إلى ما لا نهاية، مثلًا facebook مع أنّ المقبس بـWebSocket هو الأقوى من الـLong Polling والـSSE، لكنه أكثر من المطلوب في الكثير من الأحوال، وأيضًا هو أصعب قليلًا وأحيانًا كثيرًا.

بالصدفة جاوبت على مثل هذا البارحة:

وأيضًا هذا المقال بالنسبة للغة PHP:

إن تتوّفر على صلاحيات أخرى للتصنت على منافذ في الخادم يمكنك استخدام الـWebSocket لكنه في هذه الحالة أكثر مما تحتاج أنت تريد الإستلام من الخادوم فقط، وفي Node.JS استخدم Socket.IO لكن الأحداث باستخدام SSE في حالتك هي كل ما تحتاج.

ما قلته هو ما يحدث...

إن كان موقعك في بدايته لا بأس أن يكون يرسل الفرق بين إسال الطلبات دقيقة مثلا...