टोक्सीप्रॉक्सी, परीक्षण वातावरण में नेटवर्क स्थितियों का अनुकरण करने के लिए एक ढांचा

Shopify, जो वेब पर सबसे बड़े और सबसे लोकप्रिय ई-कॉमर्स प्लेटफॉर्म में से एक विकसित करता है, डीio ने हाल ही में घोषणा की है कि उसने प्रॉक्सी सर्वर «Toxiproxy 2.3» का नया संस्करण लॉन्च किया है। जिसे नेटवर्क और सिस्टम में विफलताओं और विसंगतियों का अनुकरण करने के लिए डिज़ाइन किया गया है ताकि ऐसी स्थिति होने पर अनुप्रयोगों की स्थिति का परीक्षण किया जा सके।

कार्यक्रम संचार चैनल की विशेषताओं को गतिशील रूप से बदलने के लिए एक एपीआई प्रदान करने के लिए खड़ा है, जिसका उपयोग निरंतर एकीकरण प्लेटफार्मों और विकास वातावरण के लिए समर्थन के अलावा, यूनिट टेस्ट सिस्टम के साथ टोक्सीप्रॉक्सी को एकीकृत करने के लिए किया जा सकता है।

Toxiproxy के बारे में

यह ढाँचा विशेष रूप से परीक्षण वातावरण में काम करने के लिए डिज़ाइन किया गया है, सीआई और विकास, और कनेक्शन के नियतात्मक हेरफेर का समर्थन करता है, लेकिन यादृच्छिक अराजकता और अनुकूलन के लिए समर्थन के साथ।

मूल रूप से, Toxiproxy एक उपकरण के रूप में तैनात है कि वे सभी जिन्हें आवश्यकता है उन अनुप्रयोगों पर डेमो परीक्षण करें जिनमें विफलता के एकल बिंदु नहीं हैं। अक्टूबर 2014 से Shopify पर सभी विकास और परीक्षण वातावरण में Toxiproxy का सफलतापूर्वक उपयोग किया गया है।

Toxiproxy के उपयोग में दो भाग होते हैं। गो में लिखा गया एक टीसीपी प्रॉक्सी (इस भंडार में क्या शामिल है) और एक क्लाइंट जो HTTP के माध्यम से प्रॉक्सी के साथ संचार करता है। यह एप्लिकेशन को कॉन्फ़िगर करता है ताकि सभी परीक्षण कनेक्शन Toxiproxy से गुजरें और फिर HTTP के माध्यम से अपनी स्थिति में हेरफेर कर सकें।

दूसरे शब्दों में, प्रॉक्सी परीक्षण किए जा रहे एप्लिकेशन और नेटवर्क सेवा के बीच लॉन्च किया गया है जिसके साथ यह एप्लिकेशन इंटरैक्ट करता है, जिसके बाद आप सर्वर से प्रतिक्रिया प्राप्त करते समय या अनुरोध भेजते समय एक निश्चित देरी की घटना का अनुकरण कर सकते हैं, बैंडविड्थ बदल सकते हैं, कनेक्शन स्वीकार करने से इनकार कर सकते हैं, कनेक्शन स्थापना या बंद करने के सामान्य पाठ्यक्रम को बाधित कर सकते हैं, स्थापित कनेक्शन को फिर से स्थापित कर सकते हैं, विकृत कर सकते हैं। संकुल की सामग्री।

अनुप्रयोगों से प्रॉक्सी सर्वर के संचालन को नियंत्रित करने के लिए, रूबी, गो, पायथन, सी # / नेट, पीएचपी, जावास्क्रिप्ट / नोड.जेएस, जावा, हास्केल, जंग और अमृत के लिए क्लाइंट लाइब्रेरी प्रदान की जाती हैं, जो आपको बदलने की अनुमति देती हैं मक्खी पर बातचीत की स्थिति नेटवर्क और तुरंत परिणाम का मूल्यांकन करें।

कोड में बदलाव किए बिना संचार चैनल की विशेषताओं को बदलने के लिए, एक विशेष टोक्सीप्रोक्सी-क्ली उपयोगिता का उपयोग किया जा सकता है (टोक्सिप्रॉक्सी एपीआई को यूनिट परीक्षणों में इस्तेमाल किया जाना चाहिए और उपयोगिता इंटरैक्टिव प्रयोगों के लिए उपयोगी हो सकती है)।

Toxiproxy 2.3 में नया क्या है?

जारी किए गए नए संस्करण में शामिल किए गए परिवर्तनों के लिए, यह उल्लेख किया गया है कि HTTPS के लिए क्लाइंट एंडपॉइंट नियंत्रक शामिल है।

साथ ही विशिष्ट परीक्षण ड्राइवरों को अलग-अलग फाइलों में अलग करना, क्लाइंट का कार्यान्वयन। एपीआई को पॉप्युलेट करें।

इसके अलावा, armv7 और armv6 प्लेटफॉर्म के लिए समर्थन और सर्वर के लिए रजिस्ट्री स्तर को बदलने की क्षमता पर भी प्रकाश डाला गया है।

Linux पर Toxiproxy स्थापित करें

उन लोगों के लिए जो अपने परीक्षण करने में सक्षम होने के लिए इस ढांचे को स्थापित करने में रुचि रखते हैं, वे ऐसा कर सकते हैं हम नीचे साझा किए गए चरणों का पालन कर रहे हैं।

यदि आप एक उपयोगकर्ता हैं डेबियन, उबंटू या इनके आधार पर कोई अन्य वितरण, आप एक टर्मिनल खोलकर इंस्टॉलेशन कर सकते हैं (आप कीबोर्ड शॉर्टकट 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 संकुल के समर्थन के साथ वितरण के उपयोक्ता, जैसे फेडोरा, ओपनस्यूज, आरएचईएल, दूसरों के बीच, डाउनलोड करने के लिए पैकेज निम्नलिखित है:
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 कोड गो में लिखा गया है और उसके पास एमआईटी लाइसेंस है और आप इस ढांचे का उपयोग करने के लिए मैनुअल से परामर्श कर सकते हैं। निम्नलिखित लिंक।


अपनी टिप्पणी दर्ज करें

आपका ईमेल पता प्रकाशित नहीं किया जाएगा। आवश्यक फ़ील्ड के साथ चिह्नित कर रहे हैं *

*

*

  1. डेटा के लिए जिम्मेदार: एबी इंटरनेट नेटवर्क 2008 SL
  2. डेटा का उद्देश्य: नियंत्रण स्पैम, टिप्पणी प्रबंधन।
  3. वैधता: आपकी सहमति
  4. डेटा का संचार: डेटा को कानूनी बाध्यता को छोड़कर तीसरे पक्ष को संचार नहीं किया जाएगा।
  5. डेटा संग्रहण: ऑकेंटस नेटवर्क्स (EU) द्वारा होस्ट किया गया डेटाबेस
  6. अधिकार: किसी भी समय आप अपनी जानकारी को सीमित, पुनर्प्राप्त और हटा सकते हैं।