ما هو Azure SignalR Service؟

Azure SignalR Service تعمل على تبسيط عملية إضافة وظائف الويب في الوقت الحقيقي إلى التطبيقات عبر HTTP. تسمح هذه الوظيفة في الوقت الحقيقي للخدمة بدفع تحديثات المحتوى إلى العملاء المتصلين، مثل صفحة واحدة على الويب أو تطبيق هاتف محمول. كنتيجة لذلك، يتم تحديث العملاء بدون الحاجة لاستطلاع رأي الخادم، أو تسليم طلبات HTTP جديدة للتحديث

توفر هذه المقالة نظرة عامة على خدمة Azure SignalR.

ما هي خدمة Azure SignalR المستخدمة؟

أي سيناريو يتطلب دفع البيانات من خادم إلى عميل في الوقت الحقيقي، يمكن استخدام خدمة Azure SignalR.

الميزات التقليدية في الوقت الحقيقي التي تتطلب في كثير من الأحيان التحقق من الخادم، ويمكن أيضًا استخدام خدمة Azure SignalR.

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

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

ما هي الفوائد التي يتم استخدامها باستخدام خدمة Azure SignalR؟

مستند إلى قياسي:

يوفر SignalR تجريدا على العديد من التقنيات المستخدمة لبناء تطبيقات الويب في الوقت الحقيقي. WebSockets هو النقل الأمثل، ولكن يتم استخدام تقنيات أخرى مثل Server-Sent Events (SSE) و Long Polling عندما لا تتوفر خيارات أخرى. يقوم SignalR تلقائيًا بالكشف عن النقل المناسب وتهيئة هذا النقل استنادًا إلى الميزات المعتمدة على الخادم والعميل.

دعم ASP.NET Core الأصلي:

توفر خدمة SignalR تجربة برمجة أصلية مع ASP.NET Core وASP.NET. يتطلب تطوير تطبيقات SignalR جديدة باستخدام SignalR Service، أو الترحيل من التطبيقات الحالية المستندة إلى SignalR إلى SignalR Service الحد الأدنى من الجهد. كما تدعم خدمة SignalR ميزة ASP.NET Core الجديدة، Blazor من جانب الخادم.

دعم واسع للعملاء:

تعمل SignalR Service مع مجموعة واسعة من العملاء، مثل:

  • مستعرضات الويب والجوال
  • تطبيقات سطح المكتب
  • تطبيقات الأجهزة المحمولة
  • أجهزة إنترنت الأشياء
  • وحدات تحكم اللعبة

دعم لغات متعددة:

تقدم SignalR Service حزم SDK بلغات مختلفة:

  • جانب العميل: أي مكتبات عميل تدعم بروتوكول SignalR متوافقة مع خدمة SignalR.
  • جانب الخادم: ASP.NET Core أو تطبيقات الويب ASP.NET
  • دعم بلا خادم من خلال واجهات برمجة تطبيقات REST ومشغلات وروابط Azure Functions وتكاملات Event Grid ASP.NET Core SignalR.

التعامل مع اتصالات العميل واسعة النطاق:

تم تصميم SignalR Service للتطبيقات الكبيرة في الوقت الحقيقي. تسمح خدمة SignalR لمثيلات متعددة بالعمل معًا لتوسيع نطاق اتصالات العملاء إلى ملايين. كما تدعم الخدمة مناطق عالمية متعددة لأغراض القطع، أو التوافر العالي أو التعافي من الكوارث.

إزالة العبء على SignalR المضيف الذاتي:

مقارنة بتطبيقات SignalR المستضافة ذاتيا، سيؤدي التبديل إلى SignalR Service إلى إزالة الحاجة إلى إدارة المستويات الخلفية التي تتعامل مع التحجيم واتصالات العميل. كما تعمل الخدمة المدارة بالكامل على تبسيط تطبيقات الويب، وتوفير تكلفة الاستضافة. تقدم SignalR Service وصولا عالميا ومركز بيانات وشبكة على مستوى عالمي، وتتوسع إلى ملايين الاتصالات، وتوفر الامتثال والأمان القياسيين ل Azure.

تدعم SignalR Service كلا من التكوينات المستندة إلى الخادم والبيئات بلا خادم من خلال التكامل مع Azure Functions و Event Grid.

Managed SignalR Service

تقديم واجهات برمجة تطبيقات غنية لأنماط المراسلة المختلفة:

تسمح خدمة SignalR للملقم بإرسال رسائل إلى اتصال معين، أو كافة الاتصالات، أو مجموعة فرعية من الاتصالات التي تنتمي إلى مستخدم معين، أو تم وضعها في مجموعة عشوائية.

كيفية استخدام Azure SignalR Service

هناك العديد من الطرق المختلفة للبرمجة باستخدام Azure SignalR Service. وفيما يلي أمثلة:

  • توسيع نطاق تطبيق ASP.NET Core SignalR - دمج Azure SignalR Service مع تطبيق ASP.NET Core SignalR لتوسيع نطاقه إلى مئات الآلاف من الاتصالات.
  • إنشاء تطبيقات بدون خادم في الوقت الحقيقي - استخدم تكامل Azure Functions مع Azure SignalR Service لإنشاء تطبيقات في الوقت الفعلي بدون خادم بلغات مثل JavaScript وC#وJava.
  • إرسال رسائل من الخادم إلى العملاء عبر REST API * توفر خدمة Azure SignalR واجهة برمجة تطبيقات REST لتمكين التطبيقات من نشر الرسائل إلى العملاء المتصلين بخدمة SignalR باستخدام أي لغة برمجة قادرة على REST.