تدفق الأحداث (Event Stream)، والاستطلاع القصير (Short Polling)، والاستطلاع الطويل (Long Polling)
يؤدي جلب كميات كبيرة من البيانات إلى خلق مشكلات للمستخدمين. فإذا انتظر المستخدم لفترة طويلة للحصول على استجابة، ستكون التجربة بطيئة. لذا، تُستخدم طرق مختلفة للتعامل مع طلبات البيانات هذه.
الاستطلاع القصير (Short Polling) يرسل العميل طلبات إلى الخادم على فترات زمنية ثابتة. ويستجيب الخادم لكل طلب على الفور، حيث يخبر العميل بوجود بيانات جديدة من عدمه. تستهلك هذه الطريقة الكثير من الموارد بسبب الطلبات المستمرة.
الاستطلاع الطويل (Long Polling) يرسل العميل طلباً إلى الخادم، ويقوم الخادم بإبقاء الطلب مفتوحاً حتى وصول بيانات جديدة أو حدوث مهلة زمنية (timeout). يقلل هذا من عدد الاستجابات الفارغة.
تدفق الأحداث (Event Stream - SSE) تسبب مجموعات البيانات الكبيرة أوقات انتظار طويلة. فإذا كان لديك 100,000 صف من البيانات، فإن إرسالها جميعاً دفعة واحدة سيكون بطيئاً. يمكنك تحسين تجربة المستخدم عن طريق إرسال البيانات في أجزاء (chunks).
يعمل تدفق الأحداث (Event Stream) على النحو التالي:
- يفتح العميل اتصالاً بالخادم.
- يظل الاتصال مفتوحاً.
- يرسل الخادم أجزاءً صغيرة من البيانات بمجرد جاهزيتها.
- يرى المستخدم النتائج فوراً بدلاً من انتظار المجموعة الكاملة.
تحافظ هذه الطريقة على نشاط الاتصال حتى ينتهي الخادم من إرسال جميع الأحداث. مما يجعل التطبيقات تبدو سريعة وسريعة الاستجابة.
المصدر: https://dev.to/anubama_i/event-stream-short-polling-long-polling-54n