الاستطلاع (Polling) في تصميم الأنظمة
يتيح الاستطلاع للعميل الحصول على تحديثات من الخادم. يمكنك تشبيه ذلك بنادل يتحقق من وجبتك.
توجد ثلاث طرق رئيسية.
الاستطلاع القصير (Short Polling)
يطلب العميل تحديثاً في فترات زمنية ثابتة. إذا لم تكن البيانات جاهزة، يرسل الخادم استجابة فارغة. يكرر العميل هذه الدورة حتى تصل البيانات. تنشئ هذه الطريقة العديد من الطلبات غير الضرورية.
الاستطلاع الطويل (Long Polling)
يرسل العميل طلباً ويُبقي الخادم هذا الطلب مفتوحاً. لا يستجيب الخادم إلا عندما تكون البيانات جاهزة. بمجرد حصول العميل على الاستجابة، يرسل طلباً جديداً على الفور. هذا يعطي شعوراً بالزمن الحقيقي تقريباً، كما أنه يقلل من الاستجابات الفارغة مقارنة بالاستطلاع القصير.
تدفق الأحداث (Event Stream)
يفتح العميل والخادم اتصالاً واحداً. يظل هذا الاتصال مفتوحاً حتى يقوم أحد الطرفين بإغلاقه. يقوم الخادم بدفع البيانات إلى العميل كلما حدث حدث ما. هذا هو التواصل الحقيقي في الزمن الفعلي.
الجانب السلبي هو استهلاك الموارد. يشغل الاتصال منفذاً (port) محدداً، ويظل هذا المنفذ غير متاح للمهام الأخرى حتى ينتهي الاتصال.
يعتمد اختيارك على احتياجات نظامك والمقايضات التي تقبلها.
المصدر: https://dev.to/cibani_joe/polling-in-system-design-ph6