Toxiproxy, चाचणी वातावरणात नेटवर्क परिस्थितीचे अनुकरण करण्यासाठी एक फ्रेमवर्क

शॉपिफाई, जे वेबवरील सर्वात मोठे आणि सर्वात लोकप्रिय ई-कॉमर्स प्लॅटफॉर्म विकसित करते, डीio ने अलीकडेच जाहीर केले की त्यांनी प्रॉक्सी सर्व्हरची नवीन आवृत्ती «Toxiproxy 2.3» लाँच केली आहे. ज्याची रचना नेटवर्कमधील अपयश आणि विसंगतींचे अनुकरण करण्यासाठी आणि जेव्हा अशा परिस्थिती उद्भवतात तेव्हा अनुप्रयोगांच्या स्थितीची चाचणी घेण्यासाठी केली जाते.

संप्रेषण चॅनेलची वैशिष्ट्ये डायनॅमिकपणे बदलण्यासाठी API प्रदान करण्यासाठी हा कार्यक्रम वेगळा आहे, ज्याचा वापर युनिट चाचणी प्रणालीसह Toxiproxy समाकलित करण्यासाठी केला जाऊ शकतो, शिवाय सतत एकीकरण प्लॅटफॉर्म आणि विकास वातावरणासाठी समर्थन देखील आहे.

टॉक्सीप्रॉक्सी बद्दल

ही चौकट विशेषतः चाचणी वातावरणात काम करण्यासाठी डिझाइन केलेले आहे, CI आणि विकास, आणि कनेक्शनच्या निर्धारवादी हाताळणीचे समर्थन करते, परंतु यादृच्छिक गोंधळ आणि सानुकूलनासाठी समर्थनासह.

मूलतः, Toxiproxy एक साधन म्हणून स्थित आहे ज्यांना आवश्यक आहे अयशस्वी होण्याचे एकच गुण नसलेल्या अनुप्रयोगांवर डेमो चाचण्या करा. ऑक्टोबर 2014 पासून Shopify वरील सर्व विकास आणि चाचणी वातावरणात Toxiproxy यशस्वीरित्या वापरली जात आहे.

टॉक्सिप्रॉक्सीच्या वापरामध्ये दोन भाग असतात. Go मध्ये लिहिलेली TCP प्रॉक्सी (या रेपॉजिटरीमध्ये काय आहे) आणि एक क्लायंट जो प्रॉक्सीशी HTTP द्वारे संप्रेषण करतो. हे ऍप्लिकेशन कॉन्फिगर करते जेणेकरून सर्व चाचणी कनेक्शन Toxiproxy द्वारे जातात आणि नंतर HTTP द्वारे त्यांची स्थिती हाताळू शकतात.

दुसऱ्या शब्दांत, प्रॉक्सी चाचणी होत असलेल्या ऍप्लिकेशन आणि ज्या नेटवर्क सेवेशी हा ऍप्लिकेशन संवाद साधतो त्या दरम्यान लॉन्च केला जातो, त्यानंतर तुम्ही सर्व्हरकडून प्रतिसाद प्राप्त करताना किंवा विनंती पाठवताना विशिष्ट विलंबाच्या घटनेचे अनुकरण करू शकता, बँडविड्थ बदलू शकता, कनेक्शन स्वीकारण्यास नकार देऊ शकता, कनेक्शन स्थापना किंवा बंद करण्याच्या सामान्य प्रक्रियेमध्ये व्यत्यय आणू शकता, स्थापित कनेक्शन पुन्हा स्थापित करू शकता, विकृत करू शकता. पॅकेजची सामग्री.

ऍप्लिकेशन्समधून प्रॉक्सी सर्व्हरचे ऑपरेशन नियंत्रित करण्यासाठी, Ruby, Go, Python, C#/. NET, PHP, JavaScript / Node.js, Java, Haskell, Rust आणि Elixir साठी क्लायंट लायब्ररी प्रदान केल्या आहेत, जे तुम्हाला बदलण्याची परवानगी देतात. परस्परसंवाद परिस्थिती नेटवर्क फ्लाय वर आणि लगेच परिणाम मूल्यांकन.

कोडमध्ये बदल न करता संप्रेषण चॅनेलची वैशिष्ट्ये बदलण्यासाठी, एक विशेष टॉक्सिप्रॉक्सी-क्ली युटिलिटी वापरली जाऊ शकते (टॉक्सीप्रॉक्सी एपीआय युनिट चाचण्यांमध्ये वापरली जाणार आहे आणि युटिलिटी परस्परसंवादी प्रयोगांसाठी उपयुक्त असू शकते).

Toxiproxy 2.3 मध्ये नवीन काय आहे?

रिलीझ केलेल्या नवीन आवृत्तीमध्ये समाविष्ट केलेल्या बदलांसाठी, HTTPS साठी क्लायंट एंडपॉइंट कंट्रोलरचा समावेश असल्याचे नमूद केले आहे.

तसेच ठराविक चाचणी ड्रायव्हर्सना वेगळ्या फाइल्समध्ये वेगळे करणे, client.Populate API ची अंमलबजावणी.

या व्यतिरिक्त, armv7 आणि armv6 प्लॅटफॉर्मसाठी समर्थन आणि सर्व्हरसाठी नोंदणी स्तर बदलण्याची क्षमता देखील हायलाइट केली आहे.

लिनक्सवर टॉक्सीप्रॉक्सी स्थापित करा

ज्यांना त्यांच्या चाचण्या पार पाडण्यासाठी हे फ्रेमवर्क स्थापित करण्यात सक्षम होण्यास स्वारस्य आहे, ते हे करू शकतात आम्ही खाली सामायिक केलेल्या चरणांचे अनुसरण करा.

आपण एक वापरकर्ता असल्यास डेबियन, उबंटू किंवा यावर आधारित इतर कोणतेही वितरण, तुम्ही टर्मिनल उघडून इन्स्टॉलेशन करू शकता (तुम्ही कीबोर्ड शॉर्टकट 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 इंटरनेट नेटवर्क 2008 SL
  2. डेटाचा उद्देशः नियंत्रण स्पॅम, टिप्पणी व्यवस्थापन.
  3. कायदे: आपली संमती
  4. डेटा संप्रेषण: कायदेशीर बंधन वगळता डेटा तृतीय पक्षास कळविला जाणार नाही.
  5. डेटा संग्रहण: ओकेन्टस नेटवर्क (EU) द्वारा होस्ट केलेला डेटाबेस
  6. अधिकारः कोणत्याही वेळी आपण आपली माहिती मर्यादित, पुनर्प्राप्त आणि हटवू शकता.