إنشاء تجربة فوضى تستخدم خطأ خدمة مباشرة لتجاوز إخفاق مثيلAzure Cosmos DB
يمكنك استخدام تجربة الفوضى للتحقق من أن التطبيق الخاص بك مرن في مواجهة حالات الفشل عن طريق التسبب في هذه الإخفاقات في بيئة خاضعة للرقابة. في هذه المقالة، تتسبب في تجاوز فشل Azure Cosmos DB متعدد القراءة والكتابة المفردة باستخدام تجربة الفوضى وAzure Chaos Studio. يمكن أن يساعدك تشغيل هذه التجربة في الدفاع ضد فقدان البيانات عند حدوث حدث تجاوز الفشل.
يمكنك استخدام هذه الخطوات نفسها لإعداد تجربة وتشغيلها لأي خطأ مباشر للخدمة. يعمل الخطأ المباشر للخدمة مباشرة مقابل مورد Azure دون أي حاجة إلى الأجهزة. تتطلب الأخطاء المستندة إلى العامل تثبيت عامل الفوضى.
المتطلبات الأساسية
- اشتراك Azure. إذا لم يكن لديك اشتراك في Azure، فأنشئ حساب Azure مجاني قبل أن تبدأ.
- حساب Azure Cosmos DB. إذا لم يكن لديك حساب Azure Cosmos DB، فاتبع هذه الخطوات لإنشاء حساب.
- قراءة واحدة على الأقل وإعداد منطقة كتابة واحدة لحساب Azure Cosmos DB الخاص بك.
تمكين Chaos Studio على حساب Azure Cosmos DB الخاص بك
لا يمكن ل Chaos Studio إدخال أخطاء ضد مورد ما لم تتم إضافة هذا المورد إلى Chaos Studio أولا. يمكنك إضافة مورد إلى Chaos Studio عن طريق إنشاء هدف وقدرات على المورد. تحتوي حسابات Azure Cosmos DB على نوع هدف واحد فقط (خدمة مباشرة) وقدرة واحدة (تجاوز الفشل). قد تحتوي الموارد الأخرى على نوعين مستهدفين كحد أقصى. نوع هدف واحد هو للأخطاء المباشرة للخدمة. نوع هدف آخر هو للأخطاء المستندة إلى العامل. قد يكون للموارد الأخرى العديد من القدرات الأخرى.
افتح مدخل Azure.
ابحث عن Chaos Studio في شريط البحث.
حدد الأهداف وانتقل إلى حساب Azure Cosmos DB الخاص بك.
حدد خانة الاختيار بجوار حساب Azure Cosmos DB الخاص بك. حدد Enable targets ثم حدد Enable service-direct targets من القائمة المنسدلة.
تأكد من إدراج المورد المطلوب. حدد Review + Enable، ثم Enable.
يظهر إعلام يشير إلى تمكين الموارد المحددة بنجاح.
لقد نجحت الآن في إضافة حساب Azure Cosmos DB الخاص بك إلى Chaos Studio. في طريقة العرض Targets، يمكنك أيضا إدارة الإمكانات الممكنة على هذا المورد. يؤدي تحديد الارتباط Manage actions بجوار مورد إلى عرض الإمكانات الممكنة لهذا المورد.
إنشاء تجربة
الآن يمكنك إنشاء تجربتك. تحدد تجربة الفوضى الإجراءات التي تريد اتخاذها ضد الموارد المستهدفة. يتم تنظيم الإجراءات وتشغيلها في خطوات متتالية. تحدد تجربة الفوضى أيضا الإجراءات التي تريد اتخاذها ضد الفروع، والتي تعمل بالتوازي.
حدد علامة التبويب التجارب في Chaos Studio. في هذا العرض، يمكنك رؤية وإدارة جميع تجارب الفوضى الخاصة بك. حدد إنشاء>تجربة جديدة.
املأ الاشتراك ومجموعة الموارد والموقع حيث تريد نشر تجربة الفوضى. أعط تجربتك اسما. حدد Next: Experiment designer.
أنت الآن في مصمم تجربة Chaos Studio. يسمح لك مصمم التجربة بإنشاء تجربتك عن طريق إضافة الخطوات والفروع والأخطاء. أدخل اسما مألوفا للخطوة والفرع وحدد إضافة إجراء > إضافة خطأ.
حدد CosmosDB Failover من القائمة المنسدلة. املأ المدة بعدد الدقائق التي تريد أن يستمر الفشل فيها وقراءةRegionبمنطقة القراءة لحساب Azure Cosmos DB الخاص بك. حدد Next: Target resources.
حدد حساب Azure Cosmos DB الخاص بك وحدد التالي.
تحقق من أن تجربتك تبدو صحيحة وحدد Review + create>Create.
منح إذن التجربة للمورد الهدف
عند إنشاء تجربة فوضى، ينشئ Chaos Studio هوية مدارة معينة من قبل النظام تنفذ أخطاء ضد الموارد المستهدفة. يجب منح هذه الهوية الأذونات المناسبة للمورد الهدف لتشغيل التجربة بنجاح. يمكنك استخدام هذه الخطوات لأي مورد ونوع هدف عن طريق تعديل تعيين الدور في الخطوة 3 لمطابقة الدور المناسب لهذا المورد ونوع الهدف.
انتقل إلى حساب Azure Cosmos DB وحدد Access control (IAM).
حدد إضافة>Add role assignmen.
ابحث عن Cosmos DB Operator وحدد الدور. حدد التالي.
اختر تحديد الأعضاء وابحث عن اسم التجربة. حدد تجربتك واختر تحديد. إذا كانت هناك تجارب متعددة في نفس المستأجر بنفس الاسم، يتم اقتطاع اسم التجربة الخاص بك مع إضافة أحرف عشوائية.
حدد Review + assign>Review + assign.
تشغيل تجربتك
أنت الآن جاهز لتشغيل تجربتك. للاطلاع على التأثير، نوصي بفتح نظرة عامة على حساب Azure Cosmos DB والانتقال إلى النسخ المتماثل للبيانات عالميا في علامة تبويب مستعرض منفصلة. يؤدي التحديث بشكل دوري أثناء التجربة إلى إظهار تبديل المنطقة.
- في طريقة عرض التجارب ، حدد تجربتك. حدد بدء>موافق.
- عندما تتغير الحالة إلى قيد التشغيل، حدد تفاصيل التشغيل الأخير ضمن المحفوظات للاطلاع على تفاصيل التجربة قيد التشغيل.
الخطوات التالية
الآن بعد أن قمت بتشغيل تجربة مباشرة لخدمة Azure Cosmos DB، فأنت جاهز ل: