مفاهيم شبكة الأحداث على Kubernetes

تصف هذه المقالة المفاهيم الرئيسية في Event Grid على Kubernetes باستخدام Azure Arc (معاينة).

هام

تكون Event Grid على Kubernetes مع Azure Arc حالياً في المعاينة العامة. يتم توفير إصدار المعاينة هذا بدون اتفاقية مستوى الخدمة، ولا يوصى به لأحمال العمل الخاصة بالإنتاج. بعض الميزات ربما لا تكون مدعمة أو بها بعض القدرات المقيدة. لمزيد من المعلومات، راجع ⁧⁩شروط الاستخدام التكميلية لمعاينات Microsoft Azure⁧⁩.

الأحداث

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

  • بيانات الحدث التي تمثل حدوث تغيير في الحالة.

  • سمات السياق التي توفر معلومات سياقية حول حدوث الحدث.

    يمكن استخدام كل من بيانات الحدث وسمات السياق لتصفية الأحداث.

تدعم Event Grid على Kubernetes مواصفات مخطط CloudEvents . فيما يلي مثال لحدث يستخدم مخطط CloudEvents. تدعم Event Grid حدثًا يصل حجمه إلى 1 ميغابايت.

[{
       "specVersion": "1.0",
       "type" : "orderCreated",
       "source": "myCompanyName/us/webCommerceChannel/myOnlineCommerceSiteBrandName",
       "id" : "eventId-n",
       "time" : "2020-12-25T20:54:07+00:00",
       "subject" : "account/acct-123224/order/o-123456",
       "dataSchema" : "1.0",
       "data" : {
          "orderId" : "123",
          "orderType" : "PO",
          "reference" : "https://www.myCompanyName.com/orders/123"
      }
}]

المصدر

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

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

لمعرفة الخصائص التي تم تضمينها في حدث، راجع مخطط CloudEvents.

الناشرون

ناشرو الأحداث هم تطبيقات أو أنظمة ترسل الأحداث إلى Event Grid لتسليمها إلى المشتركين في الحدث.

الموضوعات

الموضوع هو شكل من أشكال قناة الإدخال التي تعرض نقطة نهاية يرسل إليها الناشرون الأحداث إلى Event Grid.

يمكن استخدام موضوع لمجموعة من الأحداث ذات الصلة. يمكنك إنشاء موضوع لكل فئة من الأحداث ذات الصلة. في بعض الحالات، يمكن استخدام المصدر لتنظيم الأحداث في فئات لأن المصادر عادةً ما ترتبط بمجموعة من أنواع الأحداث وثيقة الصلة ("MyApp.OrderCreated" و"MyApp.OderDeleted" و"MyApp.OrderRejected" وما إلى ذلك) .

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

المشتركون في الحدث

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

اشتراكات الحدث

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

معالجات الأحداث

معالج الأحداث هو نظام برمجي يعرض نقطة نهاية يتم إرسال الأحداث إليها. يتلقى المعالج الحدث ويتخذ إجراءات لمعالجة الحدث. تدعم Event Grid العديد من أنواع المعالجات. بصفتك المعالج، يمكنك استخدام خدمة Azure المدعومة المستضافة على Kubernetes أو Azure، أو الحل الخاص بك الذي يعرض رابط الويب (نقطة النهاية) أينما تمت استضافته. اعتمادًا على نوع المعالج، تتبع Event Grid آليات مختلفة لضمان تسليم الحدث. إذا كان معالج الحدث الوجهة عبارة عن رابط ويب HTTP، تتم إعادة محاولة الحدث حتى يقوم المعالج بإرجاع رمز الحالة 200 - موافق. لمزيد من المعلومات، راجع معالجات الأحداث.

مصادقة SAS

توفر Event Grid على Kubernetes مصادقة تستند إلى مفتاح SAS لنشر الأحداث على الموضوعات.

تسليم الحدث

توفر Event Grid على Kubernetes آلية تسليم وإعادة محاولة موثوقة. إذا لم تتمكن Event Grid من تأكيد تلقي حدث بواسطة نقطة نهاية معالج الأحداث، فإنها تعيد تسليم الحدث. لمزيد من المعلومات، راجع تسليم رسائل شبكة الأحداث وإعادة المحاولة.

نشر الحدث دفعة

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

Event Grid على مكونات Kubernetes

  • ينفذ عامل تشغيل شبكة الأحداث نمط المشغل . إنه يراقب التغييرات في حالة موارد Event Grid نتيجة لطلبات مستوى التحكم التي تم إجراؤها على خادم واجهة برمجة تطبيقات Kubernetes. عندما يكون هناك طلب يؤثر على حالة أي من موارد Event Grid، يقوم عامل تشغيل Event Grid بمزامنة هذه الحالة مع وسيط شبكة الأحداث.

  • يعمل وسيط شبكة الأحداث كمستوى تحكم وعمليات مستوى بيانات.

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

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

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

للبدء، راجع إنشاء مواضيع واشتراكات.