Toxiproxy, okvir za simulacijo omrežnih pogojev v testnih okoljih

Shopify, ki razvija eno največjih in najbolj priljubljenih platform za e-trgovino na spletu, dio je pred kratkim objavil, da je predstavil novo različico proxy strežnika «Toxiproxy 2.3» ki je zasnovan za simulacijo okvar in anomalij v omrežju in sistemu za testiranje stanja aplikacij, ko se pojavijo takšni pogoji.

Program izstopa po zagotavljanju API-ja za dinamično spreminjanje značilnosti komunikacijskega kanala, ki se lahko uporablja za integracijo Toxiproxyja s sistemi za testiranje enot, poleg tega pa ima podporo za platforme za stalno integracijo in razvojna okolja.

O Toxiproxyju

Ta okvir je posebej zasnovan za delo v testnih okoljih, CI in razvoj ter podpira deterministično manipulacijo povezav, vendar s podporo za naključni kaos in prilagajanje.

V bistvu, Toxiproxy je postavljen kot orodje da vsi tisti, ki potrebujejo izvajati demo teste na aplikacijah, ki nimajo posameznih točk napak. Toxiproxy se od oktobra 2014 uspešno uporablja v vseh okoljih za razvoj in testiranje na Shopifyju.

Uporaba toxiproxyja je sestavljena iz dveh delov. Proxy TCP, napisan v Go (kar vsebuje to skladišče), in odjemalec, ki komunicira s proxy prek HTTP. To konfigurira aplikacijo tako, da gredo vse testne povezave prek Toxiproxy in lahko nato manipulirajo s svojim statusom prek HTTP.

Z drugimi besedami, proxy se zažene med preizkušeno aplikacijo in omrežno storitvijo, s katero ta aplikacija komunicira, po katerem lahko simulirate pojav določene zamude pri prejemu odgovora strežnika ali pošiljanju zahteve, spremenite pasovno širino, simulirate zavrnitev sprejemanja povezav, prekinete običajen potek vzpostavljanja ali zapiranja povezav, ponovno vzpostavite vzpostavljene povezave, izkrivljate vsebino paketov.

Za nadzor delovanja proxy strežnika iz aplikacij so na voljo odjemalske knjižnice za Ruby, Go, Python, C # /. NET, PHP, JavaScript / Node.js, Java, Haskell, Rust in Elixir, ki vam omogočajo spreminjanje interakcijo pogojev omrežja na letenje in takoj oceniti rezultat.

Za spreminjanje značilnosti komunikacijskega kanala brez spreminjanja kode je mogoče uporabiti poseben pripomoček toxiproxy-cli (Toxiproxy API naj bi se uporabljal pri enotnih testih, pripomoček pa je lahko uporaben za interaktivne eksperimente).

Kaj je novega v Toxiproxy 2.3?

Kar zadeva spremembe, ki so vključene v novo izdano različico, je omenjeno, da je vključen krmilnik končne točke odjemalca za HTTPS.

Kot tudi ločitev tipičnih testnih gonilnikov v ločene datoteke, implementacija API-ja client.Populate.

Poleg tega je poudarjena tudi podpora za platforme armv7 in armv6 ter možnost spreminjanja ravni registra za strežnik.

Namestite Toxiproxy na Linux

Za tiste, ki jih zanima, da bi lahko namestili ta okvir, da bi lahko izvajali svoje teste, lahko to storijo sledite korakom, ki jih delimo spodaj.

Če ste uporabnik Debian, Ubuntu ali katera koli druga distribucija, ki temelji na teh, Namestitev lahko izvedete tako, da odprete terminal (uporabite lahko bližnjico na tipkovnici Ctrl + Alt + T) in vanj vnesete:
wget https://github.com/Shopify/toxiproxy/releases/download/v2.3.0/toxiproxy_2.3.0_linux_amd64.deb

In namestitev nadaljujemo z:
sudo apt install ./toxiproxy_2.3.0_linux_amd64.deb

V primeru tistih, ki so uporabniki distribucij s podporo za pakete RPM, kot so Fedora, openSuse, RHEL, med drugim je paket za prenos naslednji:
wget https://github.com/Shopify/toxiproxy/releases/download/v2.3.0/toxiproxy_2.3.0_linux_amd64.rpm

Paket namestite tako, da vnesete:
sudo rpm -i toxiproxy_2.3.0_linux_amd64.rpm

Ko je namestitev končana, lahko storitev zaženete tako, da v terminalu izvedete naslednji ukaz:
sudo service toxiproxy start

Končno, če eZanima vas, da bi o tem lahko izvedeli več, Vedeti morate, da je koda Toxiproxy napisana v Go in ima licenco MIT in si lahko ogledate priročnik za uporabo tega okvira v naslednja povezava.


Pustite svoj komentar

Vaš e-naslov ne bo objavljen. Obvezna polja so označena z *

*

*

  1. Odgovoren za podatke: AB Internet Networks 2008 SL
  2. Namen podatkov: Nadzor neželene pošte, upravljanje komentarjev.
  3. Legitimacija: Vaše soglasje
  4. Sporočanje podatkov: Podatki se ne bodo posredovali tretjim osebam, razen po zakonski obveznosti.
  5. Shranjevanje podatkov: Zbirka podatkov, ki jo gosti Occentus Networks (EU)
  6. Pravice: Kadar koli lahko omejite, obnovite in izbrišete svoje podatke.