الاختيار من بين خدمات مراسلة Azure - Event Grid و Event Hubs و Service Bus

يقدم Azure ثلاث خدمات تساعد في تسليم الأحداث أو الرسائل عبر الحل. هذه الخدمات هي: Azure Event Grid وAzure Event Hubs ناقل خدمة Azure.

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

الأحداث مقابل الرسائل

هناك تمييز مهم بين الخدمات التي تقدم حدثًا وخدمات توصل رسالة.

الحدث

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

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

تقوم سلسلة من الأحداث بالإبلاغ عن شرط ويمكن تحليلها. الأحداث مرتبة زمنيًا ومترابطة. يحتاج المستهلك إلى سلسلة متسلسلة من الأحداث لتحليل ما حدث.

رسالة

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

الآن، دعونا نراجع بسرعة ماهية Azure Event Grid وAzure Event Hubs ناقل خدمة Azure.

Azure Event Grid

Azure Event Grid هي خدمة توزيع رسائل Pub Sub قابلة للتطوير ومدارة بالكامل توفر أنماطا مرنة لاستهلاك الرسائل باستخدام بروتوكولات نقل بيانات تتبع استخدام قائمة انتظار الرسائل (MQTT) وHTTP. باستخدام Azure Event Grid، يمكنك إنشاء مسارات بيانات مع بيانات الجهاز، ودمج التطبيقات، وإنشاء بنيات بلا خادم تستند إلى الحدث.

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

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

به الخصائص التالية:

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

يتم تقديم Event Grid في إصدارين: Azure Event Grid، وهي خدمة PaaS مدارة بالكامل على Azure، وشبكة الأحداث على Kubernetes مع Azure Arc، والتي تتيح لك استخدام Event Grid على مجموعة Kubernetes الخاصة بك أينما تم نشرها أو محليا أو على السحابة. لمزيد من المعلومات، راجع نظرة عامة على Azure Event Grid و Event Grid على Kubernetes مع نظرة عامة على Azure Arc.

مراكز أحداث Azure

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

به الخصائص التالية:

  • زمن انتقال منخفض
  • يمكن تلقي ومعالجة ملايين الأحداث في الثانية
  • تسليم حدث مرة واحدة على الأقل

لمزيد من المعلومات، راجع Event Hubs المتميزة.

ناقل خدمة Azure

Service Bus هو وسيط رسائل مؤسسي مُدار بالكامل مع قوائم انتظار الرسائل وموضوعات النشر والاشتراك. الخدمة مخصصة لتطبيقات المؤسسة التي تتطلب المعاملات، الطلب، الكشف عن التكرارات، والتناسق الفوري. تتيح خدمة ناقل التطبيقات المحلية السحابية توفير إدارة انتقال حالة موثوقة لعمليات الأعمال. عند معالجة الرسائل عالية القيمة التي لا يمكن فقدانها أو تكرارها، استخدم ناقل خدمة Azure. كما تسهل هذه الخدمة الاتصالات الآمنة للغاية عبر حلول السحابة الهجينة ويمكنها توصيل الأنظمة المحلية الحالية بالحلول السحابية.

خدمة الحافلة هو نظام المراسلة بوساطة. يقوم بتخزين الرسائل في "broker" (على سبيل المثال، قائمة انتظار) حتى يكون الطرف المستهلك جاهزًا لتلقي الرسائل. به الخصائص التالية:

  • تسليم رسائل غير متزامن موثوق به (مراسلة المؤسسة كخدمة) الذي يتطلب الاستقصاء. إذا كنت تستخدم ناقل خدمة Microsoft Azure وتحتاج إلى تلقي رسائل دون الحاجة إلى استقصاء قائمة الانتظار، يمكنك تحقيق ذلك باستخدام عملية تلقي استقصاء طويلة باستخدام البروتوكولات المستندة إلى TCP التي يدعمها ناقل خدمة Microsoft Azure.
  • ميزات المراسلة المتقدمة مثل الوارد أولاً وصادر أولاً (FIFO)، والدُفعات/ الجلسات، والمعاملات، والرسائل الميتة، والتحكم الزمني، والتوجيه والتصفية، والكشف عن التكرارات
  • تسليم الرسالة مرة واحدة على الأقل
  • أمر تسليم اختياري للرسائل

لمزيد من المعلومات، راجع Service Bus overview.

مقارنة الخدمات

يقارن الجدول التالي الخدمات الثلاث: Event Grid و Event Hubs و Service Bus.

الخدمة الغرض نوع وقت الاستخدام
Event Grid البرمجة التفاعلية توزيع الأحداث (أحداث منفصلة) الرد على تغييرات الحالة
مراكز الأحداث تدفق بيانات كبير تدفق الأحداث (سلسلة) القياس عن بُعد وتدفق البيانات الموزعة
ناقل الخدمة رسائل المؤسسات ذات القيمة العالية رسالة معالجة الطلبات والحركات المالية

استخدام الخدمات معًا

في بعض الحالات، يمكنك استخدام الخدمات جنبًا إلى جنب لأداء أدوار مميزة. على سبيل المثال، يمكن لموقع التجارة الإلكترونية استخدام Service Bus لمعالجة الطلب، و Event Hubs لالتقاط بيانات الموقع عن بُعد، و Event Grid للرد على أحداث مثل شحن عنصر.

في حالات أخرى، يمكنك ربطها معًا لتشكيل حدث والبيانات. يمكنك استخدام Event Grid للرد على الأحداث في الخدمات الأخرى. للحصول على مثال لاستخدام Event Grid مع مراكز الأحداث لترحيل البيانات إلى Azure Synapse Analytics، راجع دفق البيانات الضخمة إلى Azure Synapse Analytics. تعرض الصورة التالية سير العمل لتدفق البيانات.

رسم تخطيطي يوضح كيفية توصيل مراكز الأحداث ونقل خدمة Microsoft Azure وشبكة الأحداث معا.

راجع المقالات التالية: