Toxiproxy ، إطار عمل لمحاكاة ظروف الشبكة في بيئات الاختبار

Shopify، التي تطور واحدة من أكبر وأشهر منصات التجارة الإلكترونية على الويب ، دأعلنت io مؤخرًا أنها أطلقت الإصدار الجديد من الخادم الوكيل «Toxiproxy 2.3». الذي تم تصميمه لمحاكاة حالات الفشل والشذوذ في الشبكة والنظام لاختبار حالة التطبيقات عند حدوث مثل هذه الظروف.

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

حول Toxiproxy

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

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

يتكون استخدام توكسيبروكسى من جزأين. وكيل TCP مكتوب في Go (ما يحتويه هذا المستودع) وعميل يتواصل مع الوكيل عبر HTTP. يؤدي هذا إلى تهيئة التطبيق بحيث تمر جميع اتصالات الاختبار عبر Toxiproxy ويمكنها بعد ذلك معالجة حالتها عبر HTTP.

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

للتحكم في تشغيل الخادم الوكيل من التطبيقات ، يتم توفير مكتبات العميل لـ Ruby و Go و Python و C # /. NET و PHP و JavaScript / Node.js و Java و Haskell و Rust و Elixir ، مما يسمح لك بتغيير شبكة شروط التفاعل على الطاير وتقييم النتيجة على الفور.

لتغيير خصائص قناة الاتصال دون إجراء تغييرات على الكود ، يمكن استخدام أداة مساعدة خاصة لـoxiproxy-cli (من المفترض أن يتم استخدام Toxiproxy API في اختبارات الوحدة ويمكن أن تكون الأداة مفيدة للتجارب التفاعلية).

ما الجديد في Toxiproxy 2.3؟

أما بالنسبة للتغييرات التي تم تضمينها في الإصدار الجديد الذي تم إصداره ، فيذكر أنه تم تضمين وحدة تحكم نقطة نهاية العميل لـ HTTPS.

بالإضافة إلى فصل برامج تشغيل الاختبار النموذجية إلى ملفات منفصلة ، يتم تنفيذ العميل.Populate API.

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

قم بتثبيت Toxiproxy على Linux

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

إذا كنت مستخدمًا لـ Debian أو Ubuntu أو أي توزيع آخر قائم على هذه ، يمكنك إجراء التثبيت عن طريق فتح محطة طرفية (يمكنك استخدام اختصار لوحة المفاتيح Ctrl + Alt + T) وستكتب فيه:
wget https://github.com/Shopify/toxiproxy/releases/download/v2.3.0/toxiproxy_2.3.0_linux_amd64.deb

وننتقل إلى إجراء التثبيت باستخدام:
sudo apt install ./toxiproxy_2.3.0_linux_amd64.deb

في حالة من هم مستخدمو التوزيعات مع دعم حزم RPM، مثل Fedora و openSuse و RHEL وغيرها ، فإن الحزمة المراد تنزيلها هي التالية:
wget https://github.com/Shopify/toxiproxy/releases/download/v2.3.0/toxiproxy_2.3.0_linux_amd64.rpm

وتقوم بتثبيت الحزمة عن طريق كتابة:
sudo rpm -i toxiproxy_2.3.0_linux_amd64.rpm

بمجرد الانتهاء من التثبيت ، يمكنك بدء الخدمة عن طريق تنفيذ الأمر التالي في الجهاز:
sudo service toxiproxy start

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


اترك تعليقك

لن يتم نشر عنوان بريدك الإلكتروني. الحقول الإلزامية مشار إليها ب *

*

*

  1. المسؤول عن البيانات: AB Internet Networks 2008 SL
  2. الغرض من البيانات: التحكم في الرسائل الاقتحامية ، وإدارة التعليقات.
  3. الشرعية: موافقتك
  4. توصيل البيانات: لن يتم إرسال البيانات إلى أطراف ثالثة إلا بموجب التزام قانوني.
  5. تخزين البيانات: قاعدة البيانات التي تستضيفها شركة Occentus Networks (الاتحاد الأوروبي)
  6. الحقوق: يمكنك في أي وقت تقييد معلوماتك واستعادتها وحذفها.