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

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

  • Azure Event Grid
  • مراكز أحداث Azure
  • ناقل خدمة Azure

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

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

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

الحدث

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

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

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

الرسالة

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

Azure Event Grid

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

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

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

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

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

مراكز أحداث Azure

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

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

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

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

ناقل خدمة Azure

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

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

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

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

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

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

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

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

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

Image showing how Event Hubs, Service Bus, and Event Grid can be connected together.

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

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