التوفر والتناسق في مراكز الأحداث
توفر هذه المقالة معلومات حول التوافر والاتساق المدعوم من قبل مراكز الأحداث.
التوفر
تعمل مراكز الأحداث على نشر مخاطر الإخفاقات الكارثية للآلات الفردية، أو حتى الرفوف الكاملة عبر المجموعات التي تمتد عبر مجالات فشل متعددة داخل مركز البيانات. وهي تنفذ آليات شفافة للكشف عن الأعطال وتجاوز الفشل، بحيث تستمر الخدمة في العمل ضمن مستويات الخدمة المؤكدة، وعادةً دون انقطاعات ملحوظة عند حدوث مثل هذه الإخفاقات.
إذا تم إنشاء مساحة اسم مراكز الأحداث في منطقة ذات مناطق توفر، فإن مخاطر الانقطاع تنتشر بشكل أكبر عبر ثلاث مرافق منفصلة ماديا، وتحتوي الخدمة على احتياطيات كافية من السعة للتعامل على الفور مع الخسارة الكاملة الكارثية للمرفق بأكمله. لمزيد من المعلومات، راجع مراكز الأحداث- استرداد البيانات من الكوارث الجغرافية.
عندما يرسل تطبيق العميل أحداثاً إلى مركز أحداث دون تحديد قسم، يتم توزيع الأحداث تلقائياً بين الأقسام الموجودة في مركز الحدث الخاص بك. إذا لم يكن القسم متاحاً لسبب ما، فسيتم توزيع الأحداث على الأقسام المتبقية. يسمح هذا السلوك بأكبر قدر من وقت التشغيل. بالنسبة لحالات الاستخدام التي تتطلب أقصى وقت تشغيل، يُفضل هذا النموذج بدلاً من إرسال الأحداث إلى قسم معين.
الاتساق
في بعض السيناريوهات، قد يكون ترتيب الأحداث مهماً. على سبيل المثال، قد ترغب في أن يقوم نظامك الخلفي بمعالجة أمر تحديث قبل أمر الحذف. في هذا السيناريو، يرسل تطبيق العميل الأحداث إلى قسم معين بحيث يتم الاحتفاظ بالترتيب. عندما يستهلك تطبيق المستهلك هذه الأحداث من القسم، تتم قراءتها بالترتيب.
باستخدام هذا التكوين، ضع في اعتبارك أنه إذا كان القسم المحدد الذي ترسل إليه غير متوفر، فستتلقى استجابة بالخطأ. كنقطة مقارنة، إذا لم يكن لديك صلة بقسم واحد، فإن Event Hubs service ترسل الحدث الخاص بك إلى القسم التالي المتاح.
لذلك، إذا كان التوفر العالي هو الأكثر أهمية، فلا تستهدف قسماً معيناً (باستخدام معرف/ مفتاح القسم). يؤدي استخدام معرف القسم/ المفتاح إلى تقليل توفر مركز الحدث إلى مستوى القسم. في هذا السيناريو، تقوم باختيار صريح بين التوفر (دون معرف قسم/ مفتاح) والاتساق (تثبيت الأحداث على قسم معين). للحصول على معلومات تفصيلية حول الأقسام الموجودة في "مراكز الأحداث"، راجع الأقسام.
التذييل
إرسال الأحداث دون تحديد قسم
نوصي بإرسال الأحداث إلى مركز أحداث دون تعيين معلومات القسم للسماح لـ Event Hubs service بموازنة الحمل عبر الأقسام. راجع الخطوات السريعة التالية لتتعلم كيفية القيام بذلك بلغات برمجة مختلفة.
- إرسال الأحداث باستخدام .NET
- إرسال الأحداث باستخدام Java
- إرسال الأحداث باستخدام JavaScript
- إرسال الأحداث باستخدام Python
أرسل الأحداث إلى قسم معين
ستتعلم في هذا القسم كيفية إرسال الأحداث إلى قسم معين باستخدام لغات برمجة مختلفة.
لإرسال أحداث إلى قسم معين، أنشئ المجموعة باستخدام طريقة EventHubProducerClient.CreateBatchAsync عن طريق تحديد إما PartitionId
أو PartitionKey
في CreateBatchOptions. ترسل التعليمة البرمجية التالية مجموعة من الأحداث إلى قسم معين عن طريق تحديد مفتاح القسم. تضمن مراكز الأحداث تخزين جميع الأحداث التي تشترك في قيمة مفتاح القسم معاً، وتسليمها بترتيب الوصول.
var batchOptions = new CreateBatchOptions { PartitionKey = "cities" };
using var eventBatch = await producer.CreateBatchAsync(batchOptions);
يمكنك أيضاً استخدام طريقة EventHubProducerClient.SendAsync عن طريق تحديد إما PartitionId أو PartitionKey في SendEventOptions.
var sendEventOptions = new SendEventOptions { PartitionKey = "cities" };
// create the events array
producer.SendAsync(events, sendOptions)
الخطوات التالية
يمكنك معرفة المزيد عن مراكز الأحداث من خلال زيارة الروابط التالية: