المفاهيم الأساسية في Azure Web PubSub

تساعدك خدمة Azure Web PubSub على إنشاء تطبيقات ويب المراسلة في الوقت الحقيقي. يتصل العملاء بالخدمة باستخدام بروتوكول WebSocket القياسي، وتكشف الخدمة عن REST APIs وSDKs لتتمكن من إدارة هؤلاء العملاء.

الشروط

فيما يلي بعض المصطلحات الهامة التي تستخدمها الخدمة:

  • الاتصال: اتصال يعرف أيضاً باسم عميل أو اتصال العميل، ويمثل اتصال WebSocket الأحادي المتصل بخدمة Web PubSub. عند الاتصال بنجاح، يُعين معرف اتصال فريد لهذا الاتصال بواسطة خدمة Web PubSub.

  • المركز: المركز هو مفهوم منطقي لمجموعة من اتصالات العميل. عادة ما تستخدم مركز واحد لسيناريو واحد، على سبيل المثال، مركز دردشة أو مركز إعلام . عند اتصال اتصال عميل، فإنه يتصل بلوحة وصل، وخلال مدة بقائه ينتمي إلى هذا المركز. بمجرد اتصال عميل بالمركز، يوجد المركز. يمكن لتطبيقات مختلفة مشاركة خدمة Azure Web PubSub باستخدام أسماء مركز مختلفة. على الرغم من عدم وجود حد صارم لعدد المراكز، يستهلك المركز المزيد من تحميل الخدمة مقارنة بالمجموعة. من المستحسن أن يكون لديك مجموعة محددة مسبقا من المراكز بدلا من إنشائها ديناميكيا.

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

  • المستخدم: يمكن أن تنتمي الاتصالات إلى خدمة Web PubSub إلى مستخدم واحد. قد يكون لدى المستخدم اتصالات متعددة، على سبيل المثال عندما يتصل مستخدماً واحداً عبر أجهزة متعددة أو علامات تبويب مستعرض متعددة.

  • الرسالة: عندما يكون العميل متصلاً، يمكنه إرسال رسائل إلى التطبيق الرئيسي، أو تلقي رسائل من التطبيق الرئيسي، من خلال اتصال WebSocket. يمكن أن تكون الرسائل بتنسيق نص عادي أو ثنائي أو JSON ويكون الحد الأقصى لحجمها 1 ميغابايت.

  • الاتصال العميل و الاتصال ionId: يتصل العميل بنقطة /client النهاية، عند الاتصال، يتم إنشاء فريد connectionId بواسطة الخدمة كهوية فريدة لاتصال العميل. يمكن للمستخدمين بعد ذلك إدارة اتصال العميل باستخدام هذا connectionId. يتم وصف التفاصيل في قسم بروتوكول العميل.

  • أحداث العميل: يتم إنشاء الأحداث أثناء دورة حياة اتصال العميل. على سبيل المثال، ينشئ اتصال عميل WebSocket بسيط حدثا connect عندما يحاول الاتصال بالخدمة، connected وحدثا عندما يتصل بنجاح بالخدمة، وحدثا message عندما يرسل رسائل إلى الخدمة وحدثا disconnected عند قطع الاتصال بالخدمة. يتم توضيح تفاصيل حول أحداث العميل في قسم بروتوكول العميل.

  • معالج الأحداث: يحتوي معالج الأحداث على المنطق لمعالجة أحداث العميل. تسجيل وتكوين معالجات الأحداث في الخدمة من خلال المدخل أو Azure CLI مسبقا. يتم وصف التفاصيل في قسم معالج الأحداث.

  • Event Listener(preview): يستمع مستمع الحدث فقط إلى أحداث العميل ولكن لا يمكنه التدخل في عمر عملائك من خلال استجابتهم. يتم وصف التفاصيل في قسم مستمع الأحداث.

  • الخادم: يمكن للخادم معالجة أحداث العميل أو إدارة اتصالات العميل أو نشر الرسائل إلى المجموعات. يعتبر كل من معالج الأحداث ومستمع الحدث من جانب الخادم. يتم وصف تفاصيل حول الخادم في قسم بروتوكول الخادم.

هام

Hub، GroupUserId هي أدوار مهمة عند إدارة العملاء وإرسال الرسائل. ستكون معلمات مطلوبة في استدعاءات واجهة برمجة تطبيقات REST مختلفة كنص عادي. لذلك لا تضع المعلومات الحساسة في هذه الحقول. على سبيل المثال، بيانات الاعتماد أو الرموز المميزة للحامل التي سيكون لها مخاطر تسرب عالية.

‏‏سير العمل‬

يظهر سير عمل نموذجي باستخدام الخدمة كما يلي:

Diagram showing the Web PubSub service workflow.

كما هو موضح في الرسم البياني لسير العمل أعلاه:

  1. يتصل العميل بنقطة نهاية الخدمة /client باستخدام نقل WebSocket. قم بإعادة توجيه الخدمة إلى كل إطار WebSocket إلى المصدر (الخادم) المكون. يمكن لاتصال WebSocket الاتصال بأي بروتوكول فرعي مخصص للخادم للتعامل معه، أو يمكنه الاتصال بالبروتوكولات الفرعية المدعومة بالخدمة (على سبيل المثال json.webpubsub.azure.v1) التي تمكن العملاء من القيام ب pub/sub مباشرة. يتم وصف التفاصيل في بروتوكولات العميل.

  2. تستدعي الخدمة الخادم باستخدام بروتوكول CloudEvents على أحداث عميل مختلفة. CloudEvents هو تعريف موحد وغير محدد للبروتوكول للبنية ووصف بيانات التعريف للأحداث التي تستضيفها Cloud Native Computing Foundation (CNCF). يتم وصف التفاصيل في بروتوكول الخادم.

  3. يمكن للخادم استدعاء الخدمة باستخدام واجهة برمجة تطبيقات REST لإرسال رسائل إلى العملاء أو لإدارة العملاء المتصلين. يتم وصف التفاصيل في بروتوكول الخادم