مراكز الأحداث في Azure - التعافي من الكوارث الجغرافية

تعد المرونة ضد الانقطاعات الكارثية لموارد معالجة البيانات مطلباً للعديد من المؤسسات، وفي بعض الحالات تتطلبها لوائح الصناعة.

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

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

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

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

هام

  • تتيح الميزة الاستمرارية الفورية للعمليات بنفس التكوين، ولكن لا تنسخ بيانات الحدث. ما لم تتسبب الكارثة في فقدان جميع المناطق، فإن بيانات الحدث المحفوظة في مركز الأحداث الأساسي بعد تجاوز الفشل ستكون قابلة للاسترداد ويمكن الحصول على الأحداث التاريخية من هناك بممخزون استعادة الوصول. لنسخ بيانات الأحداث وتشغيل مساحات الأسماء المقابلة في تكوينات نشطة / نشطة للتعامل مع حالات الانقطاع والكوارث، لا تعتمد على مجموعة ميزات الاسترداد من الكوارث الجغرافية، ولكن اتبع إرشادات النسخ.
  • لا يتم نسخ تعيينات التحكم في الوصول المستند إلى الدور (RBAC) من Microsoft Entra إلى الكيانات في مساحة الاسم الأساسية إلى مساحة الاسم الثانوية. قم بإنشاء تعيينات الأدوار يدويًا في مساحة الاسم الثانوية لتأمين الوصول إليها.

الانقطاعات والكوارث

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

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

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

المفاهيم والمصطلحات الأساسية

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

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

تُستخدم المصطلحات التالية في هذه المقالة:

  • الاسم المستعار: اسم تكوين التعافي من الكوارث الذي أعددته. يوفر الاسم المستعار سلسلة اتصالFully Qualified Domain Name (FQDN) ثابتة واحدة. تستخدم التطبيقات سلسلة اتصال الاسم المستعار هذه للاتصال بمساحة اسم.

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

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

  • تجاوز الفشل: عملية تنشيط مساحة الاسم الثانوية.

أزواج مساحة الاسم المدعومة

يتم دعم المجموعات التالية من مساحات الأسماء الأساسية والثانوية:

طبقة مساحة الاسم الأساسية طبقة مساحة الاسم الثانوية المسموح بها
قياسي قياسي، مخصص
متميز متميز
مخصصة مخصصة

إشعار

لا يمكنك إقران مساحات الأسماء الموجودة في نفس المجموعة المخصصة. يمكنك إقران مساحات الأسماء الموجودة في مجموعات منفصلة.

الإعداد وتدفق الفشل

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

Image showing the overview of failover process

الإعداد

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

  1. قم بإنشاء مساحة الاسم الأساسية.

  2. قم بإنشاء مساحة الاسم الثانوية في منطقة مختلفة. هذه الخطوة اختيارية. يمكنك إنشاء مساحة اسم ثانوية أثناء إنشاء الاقتران في الخطوة التالية.

  3. في مدخل Microsoft Azure، انتقل إلى مساحة الاسم الأساسية الخاصة بك.

  4. حدد Geo-recovery في القائمة اليمنى وحدد بدء الاقتران على شريط الأدوات.

    Initiate pairing from the primary namespace

  5. في صفحة بدء الاقتران، اتبع الخطوات التالية:

    1. حدد مساحة اسم ثانوية موجودة أو أنشئ واحدًا في منطقة مختلفة. في هذا المثال، يتم تحديد مساحة اسم موجودة.
    2. بالنسبة إلى الاسم المستعار، أدخل اسمًا مستعارًا لاقتران geo-dr.
    3. ثم، قم بتحديد إنشاء.

    Select the secondary namespace

  6. يجب أن تشاهد صفحة Geo-DR Alias​​. يمكنك أيضًا الانتقال إلى هذه الصفحة من مساحة الاسم الأساسية عن طريق تحديد Geo-recovery في القائمة اليمنى.

    Geo-DR alias page

  7. في صفحة Geo-DR Alias ​​، حدد Shared access policies في القائمة اليمنى للوصول إلى سلسلة الاتصال الأساسية للاسم المستعار. استخدم سلسلة الاتصال هذه بدلاً من استخدام سلسلة الاتصال إلى مساحة الاسم الأساسية / الثانوية مباشرةً.

  8. في صفحة Overview هذه، يمكنك القيام بالإجراءات التالية:

    1. كسر الاقتران بين مساحات الأسماء الأساسية والثانوية. حدد Break pairing على شريط الأدوات.

    2. تجاوز الفشل يدوياً إلى مساحة الاسم الثانوية. حدد Failover على شريط الأدوات.

      التحذير

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

أخيرًا، يجب عليك إضافة بعض المراقبة لاكتشاف ما إذا كان تجاوز الفشل ضرورياً. في معظم الحالات، تكون الخدمة جزءًا واحدًا من نظام بيئي كبير، وبالتالي نادرًا ما تكون عمليات تجاوز الفشل التلقائية ممكنة؛ حيث يجب إجراء عمليات تجاوز الفشل في كثير من الأحيان بالتزامن مع النظام الفرعي أو البنية التحتية المتبقية.

مثال

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

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

تدفق تجاوز الفشل

إذا قمت ببدء تجاوز الفشل، فسيتطلب الأمر خطوتين:

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

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

إشعار

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

Image showing the failover flow

تجاوز الفشل اليدوي

يوضح هذا القسم كيفية تجاوز الفشل يدويا باستخدام مدخل Microsoft Azure وCLI وPowerShell وC#، وما إلى ذلك.

  1. في مدخل Microsoft Azure، انتقل إلى مساحة الاسم الأساسية الخاصة بك.

  2. حدد Geo-recovery في القائمة اليسرى.

  3. تجاوز الفشل يدوياً إلى مساحة الاسم الثانوية. حدد Failover على شريط الأدوات.

    التحذير

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

الإدارة

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

الاعتبارات

لاحظ الاعتبارات التالية التي يجب وضعها في الاعتبار:

  1. حسب التصميم، لا تقوم Event Hubs recovery بعد الكوارث الجغرافية بنسخ البيانات، وبالتالي لا يمكنك إعادة استخدام قيمة الإزاحة القديمة لمركز الحدث الأساسي في مركز الأحداث الثانوي. نوصي بإعادة تشغيل جهاز استقبال الحدث بإحدى الطرق التالية:

    • ()EventPosition.FromStart - إذا كنت ترغب في قراءة جميع البيانات الموجودة على مركز الأحداث الثانوي.
    • ()EventPosition.FromEnd - إذا كنت ترغب في قراءة جميع البيانات الجديدة من وقت الاتصال بمركز الحدث الثانوي.
    • EventPosition.FromEnqueuedTime (dateTime) - إذا كنت ترغب في قراءة جميع البيانات المستلمة في مركز الحدث الثانوي بدءًا من تاريخ ووقت محددين.
  2. في التخطيط لتجاوز الفشل، يجب أيضاً مراعاة عامل الوقت. على سبيل المثال، إذا فقدت الاتصال لمدة تزيد عن 15 إلى 20 دقيقة، فقد تقرر بدء تجاوز الفشل.

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

  4. يجب التمرين على الفشل في البنية التحتية الموزعة المعقدة مرة واحدة على الأقل.

  5. يمكن أن تستغرق الكيانات المتزامنة بعض الوقت، حوالي 50-100 كيان في الدقيقة.

  6. تصبح بعض جوانب مستوى الإدارة لمساحة الاسم الثانوية للقراءة فقط بينما يكون إقران الاسترداد الجغرافي نشطا.

  7. ستكون وحدة البيانات لمساحة الاسم الثانوية للقراءة فقط بينما يكون إقران الاسترداد الجغرافي نشطا. سيقبل مستوى البيانات لمساحة الاسم الثانوية طلبات GET لتمكين التحقق من صحة اتصال العميل وعناصر التحكم في الوصول.

مجموعات التوافر

تدعم مراكز الأحداث مناطق التوفر، مما يوفر مواقع معزولة عن الأخطاء داخل منطقة Azure. دعم مناطق التوفر متاح فقط في مناطق Azure ذات مناطق التوفر. يتم نسخ كل من بيانات التعريف والبيانات (الأحداث) عبر مراكز البيانات في منطقة الإتاحة.

عند إنشاء مساحة اسم، ترى الرسالة المميزة التالية عند تحديد منطقة بها مناطق توافر.

Image showing the Create Namespace page with region that has availability zones

إشعار

عند استخدام مدخل Azure، يتم تمكين تكرار المنطقة عبر دعم مناطق التوفر تلقائيًا. لا يمكنك تعطيله في المدخل. يمكنك استخدام الأمر Azure CLI az eventhubs namespace مع --zone-redundant=false أو استخدام أمر PowerShell New-AzEventHubNamespace مع -ZoneRedundant=false لإنشاء مساحة اسم مع تعطيل تكرار المنطقة.

نقاط النهاية الخاصة

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

أزواج جديدة

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

إشعار

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

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

الأزواج الموجودة

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

إشعار

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

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

لنفترض أن لديك شبكتان ظاهريتان: VNET-1 و VNET-2 ومساحات الأسماء الأساسية والثانوية هذه: EventHubs-Namespace1-Primary وEventHubs-Namespace2-Secondary. عليك القيام بالخطوات التالية:

  • في EventHubs-Namespace1-Primary، قم بإنشاء نقطتي نهاية خاصتين تستخدمان شبكات فرعية من VNET-1 و VNET-2
  • في EventHubs-Namespace2-Secondary، أنشئ نقطتي نهاية خاصتين تستخدمان نفس الشبكات الفرعية من VNET-1 و VNET-2

Private endpoints and virtual networks

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

تجاوز فشل التطبيق فقط: هنا، لن يكون التطبيق موجوداً في VNET-1 ولكنه سينتقل إلى VNET-2. نظرًا لأن كلا نقطتي النهاية الخاصتين تم تكوينهما على كل من VNET-1 و VNET-2 لكل من مساحات الأسماء الأساسية والثانوية، سيعمل التطبيق فقط.

تجاوز فشل مساحة الاسم فقط لـ Event Hubs: مرة أخرى، نظرًا لأن كلا نقطتي النهاية الخاصتين قد تم تكوينهما على كل من الشبكات الظاهرية لمساحات الأسماء الأساسية والثانوية، سيعمل التطبيق فقط.

إشعار

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

التحكم في الوصول استناداً إلى الدور

لا يتم نسخ تعيينات التحكم في الوصول المستند إلى الدور (RBAC) من Microsoft Entra إلى الكيانات في مساحة الاسم الأساسية إلى مساحة الاسم الثانوية. قم بإنشاء تعيينات الأدوار يدويًا في مساحة الاسم الثانوية لتأمين الوصول إليها.

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

راجع العينات التالية أو الوثائق المرجعية.