نظرة عامة على ميزة وسيط MQTT في Azure Event Grid

تمكن Azure Event Grid عملاء MQTT من التواصل مع بعضهم البعض ومع خدمات Azure، لدعم حلول إنترنت الأشياء (IoT).

تمكنك ميزة وسيط MQTT الخاصة ب Azure Event Grid من إنجاز السيناريوهات التالية:

  • استيعاب بيانات تتبع الاستخدام باستخدام نمط مراسلة متعدد إلى واحد. يمكن هذا النمط التطبيق من تفريغ عبء إدارة العدد الكبير من الاتصالات مع الأجهزة بشبكة الأحداث.
  • التحكم في عملاء MQTT باستخدام نمط المراسلة طلب-استجابة (واحد إلى واحد). يمكن هذا النمط أي عميل من التواصل مع أي عميل آخر دون قيود، بغض النظر عن أدوار العملاء.
  • بث التنبيهات إلى أسطول من العملاء باستخدام نمط المراسلة واحد إلى متعدد. يمكن هذا النمط التطبيق من نشر رسالة واحدة فقط تقوم الخدمة بنسخها نسخا متماثلا لكل عميل مهتم.
  • دمج البيانات من عملاء MQTT عن طريق توجيه رسائل MQTT إلى خدمات Azure والإخطارات على الويب من خلال وظيفة تسليم دفع HTTP. يتيح لك هذا التكامل مع خدمات Azure إنشاء مسارات بيانات تبدأ ب استيعاب البيانات من أجهزة IoT الخاصة بك.

يمكنك العثور على نماذج التعليمات البرمجية التي توضح هذه السيناريوهات في هذا المستودع.

يعتبر وسيط MQTT مثاليا لتنفيذ سيناريوهات السيارات والتنقل، من بين أمور أخرى. راجع البنية المرجعية لمعرفة كيفية إنشاء حلول آمنة وقابلة للتطوير لتوصيل ملايين المركبات بالسحابة، باستخدام خدمات المراسلة وتحليل البيانات في Azure.

رسم تخطيطي عالي المستوى لشبكة الأحداث يظهر اتصال MQTT ثنائي الاتجاه مع الناشر وعملاء المشتركين.

المفاهيم الرئيسية

فيما يلي قائمة بالمفاهيم الرئيسية المتضمنة في ميزة وسيط MQTT في Azure Event Grid.

MQTT

MQTT هو بروتوكول نقل رسائل النشر والاشتراك الذي تم تصميمه للبيئات المقيدة. إنه معيار الاتصال الانتقالي لسيناريوهات IoT بسبب الكفاءة وقابلية التوسع والموثوقية. يمكن وسيط MQTT العملاء من نشر الرسائل والاشتراك فيها عبر MQTT v3.1.1 وMQTT v3.1.1 عبر WebSockets وMQTT v5 وMQTT v5 عبر بروتوكولات WebSockets. تعرض القائمة التالية بعض أهم ميزات وسيط MQTT:

  • ميزات MQTT v5:

    • تقوم آخر وصية وعهد (LWT) بإعلام عملاء MQTT بقطع الاتصال المفاجئ لعملاء MQTT الآخرين. يمكنك استخدام LWT لضمان تدفق يمكن التنبؤ به وموثوق به للاتصال بين عملاء MQTT أثناء قطع الاتصال غير المتوقع.
    • تسمح لك خصائص المستخدم بإضافة أزواج مخصصة لقيمة المفتاح في رأس الرسالة لتوفير المزيد من السياق حول الرسالة. على سبيل المثال، قم بتضمين الغرض من الرسالة أو أصلها حتى يتمكن المتلقي من التعامل مع الرسالة بكفاءة.
    • يتيح نمط طلب الاستجابة لعملائك الاستفادة من النمط القياسي غير المتزامن لطلب الاستجابة، وتحديد موضوع الاستجابة ومعرف الارتباط في طلب استجابة العميل دون تكوين مسبق.
    • يسمح لك الفاصل الزمني لانتهاء صلاحية الرسالة بالإعلان إلى وسيط MQTT عندما تتجاهل رسالة لم تعد ذات صلة أو صالحة. على سبيل المثال، تجاهل الأوامر أو التنبيهات القديمة.
    • تساعد الأسماء المستعارة للموضوع العملاء على تقليل حجم حقل الموضوع، ما يجعل نقل البيانات أقل تكلفة.
    • يسمح الحد الأقصى لحجم الرسالة للعملاء بالتحكم في الحد الأقصى لحجم الرسالة التي يمكنهم التعامل معها من الخادم.
    • يسمح "تلقي الحد الأقصى " لعملائك بالتحكم في معدل الرسائل اعتمادا على قدراتهم مثل سرعة المعالجة أو قدرات التخزين.
    • يتيح البدء النظيف وانتهاء صلاحية الجلسة لعملائك تحسين موثوقية الجلسة وأمانها من خلال الحفاظ على معلومات اشتراك العميل ورسائله لفترة زمنية قابلة للتكوين.
    • تسمح الإقرارات السالبة لعملائك بالتفاعل بكفاءة مع رموز الخطأ المختلفة.
    • تسمح حزم قطع الاتصال المرسلة من الخادم لعملائك بمعالجة عمليات قطع الاتصال بكفاءة.
  • يضيف وسيط MQTT المزيد من ميزات MQTT v5 في المستقبل لمحاذاة المزيد مع مواصفات MQTT. توضح العناصر التالية بالتفصيل الاختلافات الحالية بين الميزات التي يدعمها وسيط MQTT ومواصفات MQTT v5: لن يتم دعم الرسالة والاحتفاظ بالعلامة وترتيب الرسائل وQoS 2.

  • ميزات MQTT v3.1.1:

    • تقوم آخر وصية وعهد (LWT) بإعلام عملاء MQTT بقطع الاتصال المفاجئ لعملاء MQTT الآخرين. يمكنك استخدام LWT لضمان تدفق يمكن التنبؤ به وموثوق به للاتصال بين عملاء MQTT أثناء قطع الاتصال غير المتوقع.
    • تضمن الجلسات المستمرة الموثوقية من خلال الحفاظ على معلومات اشتراك العميل ورسائله عند قطع اتصال العميل.
    • توفر QoS 0 و1 لعملائك التحكم في كفاءة الاتصال وموثوقيته.
  • يضيف وسيط MQTT المزيد من ميزات MQTT v3.1.1 في المستقبل لمواءمة المزيد مع مواصفات MQTT. توضح العناصر التالية بالتفصيل الاختلافات الحالية بين الميزات التي يدعمها وسيط MQTT ومواصفات MQTT v3.1.1: لا يتم دعم الاحتفاظ بالعلامة وترتيب الرسائل وQoS 2.

تعرف على المزيد حول وسيط MQTT والقيود الحالية.

نموذج مراسلة النشر والاشتراك

يوفر نموذج مراسلة النشر والاشتراك اتصالا قابلا للتطوير وغير متزامن للعملاء. وهو يمكن العملاء من تفريغ عبء التعامل مع عدد كبير من الاتصالات والرسائل إلى الخدمة. من خلال نموذج المراسلة Publish-Subscribe، يمكن لعملائك التواصل بكفاءة باستخدام أنماط المراسلة واحد إلى متعدد، متعدد إلى واحد، وأنماط مراسلة واحد إلى واحد.

  • يمكن نمط المراسلة واحد إلى متعدد العملاء من نشر رسالة واحدة فقط تقوم الخدمة بنسخها نسخا متماثلا لكل عميل مهتم.
  • يتيح نمط المراسلة متعدد إلى واحد للعملاء إلغاء تحميل عبء إدارة العدد الكبير من الاتصالات إلى وسيط MQTT.
  • يمكن نمط المراسلة واحد إلى واحد أي عميل من التواصل مع أي عميل آخر دون قيود، بغض النظر عن أدوار العملاء.

مساحة الاسم

شبكة الأحداث Namespace هي حاوية إدارة للموارد التي تدعم وظيفة وسيط MQTT، جنبا إلى جنب مع الموارد التي تدعم وظيفة تسليم السحب. يمكن لعميل MQTT الاتصال بوسيط MQTT ونشر/الاشتراك في الرسائل، بينما يقوم وسيط MQTT بمصادقة عملائك، ويخول طلبات النشر/الاشتراك، ويحيل الرسائل إلى العملاء المهتمين. تعرف على المزيد حول مفهوم مساحة الاسم.

العملاء

يشير العملاء إلى أجهزة أو تطبيقات IoT التي تنشر رسائل MQTT وتشترك فيها.

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

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

مصادقة العميل

تحتوي Event Grid على سجل عميل يخزن معلومات حول العملاء المسموح لهم بالاتصال به. قبل أن يتمكن العميل من الاتصال، يجب أن يكون هناك إدخال لهذا العميل في سجل العميل. بينما يتصل العميل بوسيط MQTT، فإنه يحتاج إلى المصادقة مع وسيط MQTT استنادا إلى بيانات الاعتماد المخزنة في سجل الهوية. يدعم وسيط MQTT آليات مصادقة العميل التالية:

عنصر تحكم الوصول

يعد التحكم في الوصول أمرا بالغ الأهمية لسيناريوهات IoT بالنظر إلى الحجم الهائل لبيئات IoT والتحديات الأمنية الفريدة للأجهزة المقيدة. توفر Event Grid التحكم في الوصول استنادا إلى الدور (RBAC) من خلال نموذج التحكم في الوصول المرن الذي يمكنك من إدارة تخويل العملاء لنشر الموضوعات أو الاشتراك فيها.

نظرا للحجم الهائل لبيئات IoT، فإن تعيين إذن لكل عميل لكل موضوع ممل بشكل لا يصدق. يعالج التحكم المرن في الوصول في Event Grid تحدي المقياس هذا من خلال تجميع العملاء والموضوعات في مجموعات العملاء ومساحات الموضوعات. بعد إنشاء مجموعات العملاء ومسافات الموضوعات، يمكنك تكوين ربط أذونات لمنح حق الوصول إلى مجموعة عملاء لنشر مساحة موضوع أو الاشتراك فيها.

رسم تخطيطي لنموذج التحكم في الوصول.

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

التوجيه

تسمح لك Event Grid بتوجيه رسائل MQTT إلى خدمات Azure أو خطافات الويب لمزيد من المعالجة. وفقا لذلك، يمكنك إنشاء حلول شاملة باستخدام بيانات IoT لتحليل البيانات والتخزين والمرئيات، من بين حالات استخدام أخرى. يمكنك تكوين التوجيه من إرسال جميع رسائل MQTT من عملائك إما إلى موضوع مساحة اسم شبكة الأحداث أو موضوع مخصص لشبكة الأحداث. بمجرد أن تكون الرسائل في الموضوع، يمكنك تكوين اشتراك حدث لاستهلاك الرسائل من الموضوع. على سبيل المثال، تمكنك هذه الوظيفة من استخدام Event Grid لتوجيه بيانات تتبع الاستخدام من أجهزة IoT إلى مراكز الأحداث ثم إلى Azure Stream Analytics للحصول على رؤى من القياس عن بعد لجهازك. تعرف على المزيد حول التوجيه.

رسم تخطيطي لتوجيه رسالة MQTT.

تكامل وسيط Edge MQTT

تتكامل Event Grid مع Azure IoT MQ لوصل قدرة وسيط MQTT على الحافة مع ميزة وسيط MQTT الخاصة ب Azure Event Grid في السحابة. Azure IoT MQ هو وسيط MQTT موزع جديد للحوسبة المتطورة، يعمل على مجموعات Kubernetes الممكنة في Arc. يمكنه الاتصال بوسيط Event Grid MQTT باستخدام مصادقة معرف Microsoft Entra (المعروف سابقا ب Azure Active Directory) باستخدام الهوية المدارة المعينة من قبل النظام، ما يبسط إدارة بيانات الاعتماد. يوفر Azure IoT MQ قابلية وصول عالية وقابلية التوسع والأمان لأجهزة وتطبيقات IoT. وهو متاح الآن في المعاينة العامة كجزء من عمليات Azure IoT. تعرف على المزيد حول توصيل Azure IoT MQ كوسيط MQTT الخاص ب Azure Event Grid.

أحداث دورة حياة عملاء MQTT

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

أسماء المجالات المخصصة

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

الخطوات التالية

استخدم المقالات التالية لمعرفة المزيد حول وسيط MQTT ومفاهيمه الرئيسية.

المفاهيم