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.