Event Grid on Kubernetes - تسليم الحدث، وإعادة المحاولة

تحاول Event Grid على Kubernetes مع Azure Arc تسليم كل رسالة مرة واحدة على الأقل لكل اشتراك مطابق على الفور. إذا لم تحصل على استجابة HTTP 200 ناجحة من المشترك، أو إذا كان هناك أي فشل، فإن Event Grid على Kubernetes تعيد محاولة التسليم بناءً على جدول إعادة المحاولة الثابت، وسياسة إعادة المحاولة.

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

هام

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

إشعار

أثناء المعاينة، يتم دعم ميزات Event Grid على Kubernetes من خلال إصدار API 2020-10-15-Preview.

جدول إعادة المحاولة

تنتظر Event Grid على Kubernetes ما يصل إلى 60 ثانية للرد بعد تسليم الحدث. إذا لم ترسل نقطة نهاية المشترك استجابة نجاح (HTTP 200 أو نحو ذلك)، فإنه يعيد إرسال الحدث. وإليك كيف يعمل.

  1. تصل الرسالة إلى Event Grid على Kubernetes. جرت محاولة تسليمها على الفور.
  2. إذا فشل التسليم، يتم وضع الرسالة في قائمة انتظار مدتها دقيقة واحدة، وإعادة المحاولة بعد دقيقة.
  3. في حالة استمرار فشل التسليم، يتم وضع الرسالة في قائمة انتظار مدتها 10 دقائق، وإعادة المحاولة كل 10 دقائق.
  4. تتم محاولة عمليات التسليم حتى يتم الوصول إلى حدود النهج الناجحة، أو إعادة المحاولة.

نهج إعادة المحاولة

هناك نوعان من التكوينات التي تحدد نهج إعادة المحاولة. وهي:

  • أقصى عدد من المحاولات
  • مدة بقاء الحدث (TTL)

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

تكوين الافتراضات لكل مشترك

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

يقوم المثال التالي بإعداد اشتراك Web hook لمدة maxNumberOfAttempts 3 و30 eventTimeToLiveInMinutes دقيقة.

{
 "properties": {
  "destination": {
   "endpointType": "WebHook",
   "properties": {
    "endpointUrl": "<your_webhook_url>",
    "eventDeliverySchema": " CloudEventSchemaV1_0"
   }
  },
  "retryPolicy": {
   "eventTimeToLiveInMinutes": 30,
   "maxDeliveryAttempts": 3
  }
 }

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

للتعرف على الوجهات والمعالجات التي تدعمها Event Grid على Azure Arc من أجل Kubernetes، راجع Event Grid على Kubernetes - معالجات الأحداث.