التحجيم باستخدام محاور الأحداث

هناك عاملان يؤثران على التحجيم باستخدام مراكز الأحداث.

  • وحدات الإنتاج (المستوى القياسي) أو وحدات المعالجة (الطبقة الممتازة)
  • الأقسام

وحدات الإنتاجية

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

  • الدخول: ما يصل إلى 1 ميغابايت في الثانية أو 1000 حدث في الثانية (أيهما يأتي أولا).
  • الخروج: ما يصل إلى 2 ميغابايت في الثانية أو 4096 حدثا في الثانية.

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

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

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

  • معدلات دخول البيانات تتجاوز الوحدات الإنتاج المحددة.
  • تجاوزت معدلات طلب خروج البيانات وحدات الإنتاجية المحددة.

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

لمزيد من المعلومات حول ميزة التحجيم التلقائي، راجع تغيير حجم وحدات معدل النقل تلقائيا.

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

توفر مراكز الأحداث Premium أداءً فائقًا وعزلاً أفضل في بيئة PaaS المُدارة متعددة المستخدمين. يتم عزل الموارد الموجودة في الطبقة المميزة على مستوى وحدة المعالجة المركزية والذاكرة بحيث يتم تشغيل كل حمل عمل مستأجر بشكل منفصل. يُطلق على حاوية الموارد هذه وحدة المعالجة (PU). يمكنك شراء 1 أو 2 أو 4 أو 8 أو 16 وحدة معالجة لكل مساحة اسم Premium Hubs من Event Hubs.

يعتمد مقدار ما يمكنك تناوله وتدفقه باستخدام وحدة المعالجة على عوامل مختلفة مثل المنتجين والمستهلكين ومعدل تناول الطعام والمعالجة وغير ذلك الكثير.

على سبيل المثال، يمكن أن توفر مساحة اسم Event Hubs Premium مع PU واحد ومركز أحداث واحد (100 قسم) سعة أساسية تقريبا من دخول 5-10 ميغابايت/ثانية و10-20 ميغابايت/ثانية لكل من أحمال عمل AMQP أو Kafka.

للتعرف على تكوين PUs لمساحة اسم الطبقة المتميزة، راجع تكوين وحدات المعالجة .

إشعار

لمعرفة المزيد حول الحصص والحدود، راجع مراكز أحداث Azure - الحصص والحدود .

الأقسام

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

Image that shows an event hub with a few partitions.

يمكن اعتبار القسم كسجل تثبيت. تحتوي الأقسام على بيانات الحدث التي تحتوي على المعلومات التالية:

  • نص الحدث
  • حقيبة خصائص معرفة من قبل المستخدم تصف الحدث
  • بيانات التعريف مثل إزاحتها في القسم، رقمها في تسلسل الدفق
  • الطابع الزمني من جانب الخدمة الذي تم قبوله فيه

Diagram that displays the older to newer sequence of events.

مزايا استخدام الأقسام

تم تصميم مراكز الأحداث للمساعدة في معالجة كميات كبيرة من الأحداث، ويساعد التقسيم في ذلك بطريقتين:

  • على الرغم من أن Event Hubs هي خدمة PaaS، هناك حقيقة مادية أسفلها. يتطلب الحفاظ على سجل يحافظ على ترتيب الأحداث أن يتم الاحتفاظ بهذه الأحداث معا في التخزين الأساسي والنسخ المتماثلة الخاصة به، مما يؤدي إلى سقف معدل النقل لمثل هذا السجل. يسمح التقسيم باستخدام سجلات متوازية متعددة لنفس مركز الحدث وبالتالي ضرب سعة معدل نقل الإدخال والإخراج الخام (IO) المتوفرة.
  • يجب أن تكون التطبيقات الخاصة بك قادرة على مواكبة معالجة حجم الأحداث التي يتم إرسالها إلى مركز الحدث. قد يكون معقدا ويتطلب قدرة معالجة كبيرة ومتدرجة ومتوازية. سعة عملية واحدة لمعالجة الأحداث محدودة، لذلك تحتاج إلى عدة عمليات. الأقسام هي الطريقة التي يغذي بها حلك هذه العمليات ومع ذلك يضمن أن كل حدث لديه مالك معالجة واضح.

عدد الأقسام

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

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

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

لا يهم عدد الأقسام الموجودة في مركز الحدث عندما يتعلق الأمر بالتسعير. يعتمد ذلك على عدد وحدات التسعير (وحدات الإنتاجية (TUs) للمستوى القياسي، ووحدات المعالجة (PUs) للمستوى المتميز، وووحدات السعة (CUs) للمستوى المخصص) لمساحة الاسم أو المجموعة المخصصة. على سبيل المثال، يتحمل مركز أحداث المستوى القياسي الذي يحتوي على 32 قسما أو مع قسم واحد نفس التكلفة بالضبط عند تعيين مساحة الاسم إلى سعة TU واحدة. أيضًا، يمكنك مقياس وحدات TUs أو وحدات PUs في مساحة الاسم أو وحدات CUs لمجموعة مخصصة لديك مستقلة عن عدد الأقسام.

نظرا لأن القسم هو آلية لتنظيم البيانات تسمح لك بنشر البيانات واستهلاكها بطريقة متوازية. نوصي بموازنة وحدات التحجيم (وحدات معدل النقل للمستوى القياسي، أو وحدات المعالجة للطبقة المتميزة، أو وحدات السعة للطبقة المخصصة) والأقسام لتحقيق المقياس الأمثل. بشكل عام، نوصي بحد أقصى لمعدل نقل 1 ميغابايت/ثانية لكل قسم. لذلك، فإن قاعدة الإبهام لحساب عدد الأقسام هي تقسيم الحد الأقصى لمعدل النقل المتوقع على 1 ميغابايت/ثانية. على سبيل المثال، إذا كانت حالة الاستخدام الخاصة بك تتطلب 20 ميغابايت/ثانية، نوصي باختيار 20 قسما على الأقل لتحقيق معدل النقل الأمثل.

ومع ذلك، إذا كان لديك نموذج يكون فيه التطبيق الخاص بك ترابطا إلى قسم معين، فإن زيادة عدد الأقسام ليست مفيدة. لمزيد من المعلومات، راجع availability and consistency

تعيين الأحداث إلى أقسام

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

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

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

إشعار

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

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

يمكنك معرفة المزيد عن مراكز الأحداث من خلال زيارة الروابط التالية: