Toxiproxy, isang balangkas upang gayahin ang mga kondisyon ng network sa mga kapaligiran ng pagsubok

Shopify, na bumubuo ng isa sa pinakamalaki at pinakasikat na platform ng e-commerce sa web, dKamakailan ay inihayag ng io na inilunsad nito ang bagong bersyon ng proxy server na «Toxiproxy 2.3» na idinisenyo upang gayahin ang mga pagkabigo at anomalya sa network at ang system upang subukan ang estado ng mga aplikasyon kapag nangyari ang mga naturang kundisyon.

Ang programa ay namumukod-tangi para sa pagbibigay ng isang API upang dynamic na baguhin ang mga katangian ng channel ng komunikasyon, na maaaring magamit upang isama ang Toxiproxy sa mga sistema ng pagsubok ng unit, bilang karagdagan sa pagkakaroon din ng suporta para sa tuluy-tuloy na mga platform ng pagsasama at mga kapaligiran sa pag-unlad.

Tungkol sa Toxiproxy

Ang balangkas na ito ay partikular na idinisenyo upang gumana sa mga kapaligiran ng pagsubok, CI at pag-unlad, at sumusuporta sa deterministikong pagmamanipula ng mga koneksyon, ngunit may suporta para sa random na kaguluhan at pagpapasadya.

Talaga, Ang Toxiproxy ay nakaposisyon bilang isang tool na lahat ng nangangailangan magsagawa ng mga pagsubok sa demo sa mga application na walang iisang punto ng pagkabigo. Matagumpay na nagamit ang Toxiproxy sa lahat ng development at testing environment sa Shopify mula noong Oktubre 2014.

Ang paggamit ng toxiproxy ay binubuo ng dalawang bahagi. Isang TCP proxy na nakasulat sa Go (kung ano ang nilalaman ng repository na ito) at isang kliyente na nakikipag-ugnayan sa proxy sa pamamagitan ng HTTP. Kino-configure nito ang application upang ang lahat ng pagsubok na koneksyon ay dumaan sa Toxiproxy at pagkatapos ay maaaring manipulahin ang kanilang katayuan sa pamamagitan ng HTTP.

Sa madaling salita, ang proxy ay inilunsad sa pagitan ng sinusubok na application at ng serbisyo ng network kung saan nakikipag-ugnayan ang application na ito, pagkatapos nito ay maaari mong gayahin ang paglitaw ng isang tiyak na pagkaantala kapag nakatanggap ng tugon mula sa server o nagpapadala ng isang kahilingan, palitan ang bandwidth, gayahin ang isang pagtanggi na tanggapin ang mga koneksyon, matakpan ang normal na kurso ng pagtatatag o pagsasara ng mga koneksyon, muling itatag ang mga itinatag na koneksyon , baluktot ang mga nilalaman ng mga pakete.

Upang kontrolin ang pagpapatakbo ng proxy server mula sa mga application, ang mga library ng kliyente para sa Ruby, Go, Python, C # /. NET, PHP, JavaScript / Node.js, Java, Haskell, Rust at Elixir ay ibinigay, na nagbibigay-daan sa iyong baguhin ang mga kondisyon ng pakikipag-ugnayan sa network sa mabilisang at agad na suriin ang resulta.

Upang baguhin ang mga katangian ng channel ng komunikasyon nang hindi gumagawa ng mga pagbabago sa code, maaaring gumamit ng isang espesyal na toxiproxy-cli utility (ang Toxiproxy API ay dapat na gamitin sa mga unit test at ang utility ay maaaring maging kapaki-pakinabang para sa mga interactive na eksperimento).

Ano ang bago sa Toxiproxy 2.3?

Tulad ng para sa mga pagbabago na kasama sa bagong bersyon na inilabas, nabanggit na mayroong pagsasama ng isang client endpoint controller para sa HTTPS.

Pati na rin ang paghihiwalay ng mga tipikal na test driver sa magkakahiwalay na mga file, ang pagpapatupad ng client.Populate API.

Bilang karagdagan dito, ang suporta para sa armv7 at armv6 platform at ang kakayahang baguhin ang antas ng pagpapatala para sa server ay naka-highlight din.

I-install ang Toxiproxy sa Linux

Para sa mga interesadong mai-install ang balangkas na ito upang maisagawa ang kanilang mga pagsubok, magagawa nila ito pagsunod sa mga hakbang na ibinabahagi namin sa ibaba.

Kung ikaw ay isang gumagamit ng Debian, Ubuntu o anumang iba pang pamamahagi batay sa mga ito, Maaari mong isagawa ang pag-install sa pamamagitan ng pagbubukas ng isang terminal (maaari mong gamitin ang keyboard shortcut na Ctrl + Alt + T) at dito mo ita-type:
wget https://github.com/Shopify/toxiproxy/releases/download/v2.3.0/toxiproxy_2.3.0_linux_amd64.deb

At nagpapatuloy kami upang maisagawa ang pag-install sa:
sudo apt install ./toxiproxy_2.3.0_linux_amd64.deb

Sa kaso ng mga iyon mga gumagamit ng mga pamamahagi na may suporta para sa mga RPM package, tulad ng Fedora, openSuse, RHEL, bukod sa iba pa, ang package na ida-download ay ang sumusunod:
wget https://github.com/Shopify/toxiproxy/releases/download/v2.3.0/toxiproxy_2.3.0_linux_amd64.rpm

At i-install mo ang package sa pamamagitan ng pag-type:
sudo rpm -i toxiproxy_2.3.0_linux_amd64.rpm

Kapag tapos na ang pag-install, maaari mong simulan ang serbisyo sa pamamagitan ng pagsasagawa ng sumusunod na command sa terminal:
sudo service toxiproxy start

Sa wakas kung eInteresado kang malaman ang higit pa tungkol dito, Dapat mong malaman na ang Toxiproxy code ay nakasulat sa Go at may lisensya ng MIT at maaari kang sumangguni sa manual para sa paggamit ng balangkas na ito sa sumusunod na link.


Iwanan ang iyong puna

Ang iyong email address ay hindi nai-publish. Mga kinakailangang patlang ay minarkahan ng *

*

*

  1. Responsable para sa data: AB Internet Networks 2008 SL
  2. Layunin ng data: Kontrolin ang SPAM, pamamahala ng komento.
  3. Legitimation: Ang iyong pahintulot
  4. Komunikasyon ng data: Ang data ay hindi maiparating sa mga third party maliban sa ligal na obligasyon.
  5. Imbakan ng data: Ang database na naka-host ng Occentus Networks (EU)
  6. Mga Karapatan: Sa anumang oras maaari mong limitahan, mabawi at tanggalin ang iyong impormasyon.