Toxiproxy, okvir za simulaciju mrežnih uslova u testnim okruženjima

Shopify, koja razvija jednu od najvećih i najpopularnijih platformi za e-trgovinu na webu, dio je nedavno objavio da je lansirao novu verziju proxy servera «Toxiproxy 2.3» koji je dizajniran da simulira kvarove i anomalije u mreži i sistemu za testiranje stanja aplikacija kada se takvi uslovi pojave.

Program se ističe po tome što pruža API za dinamičku promjenu karakteristika komunikacijskog kanala, koji se može koristiti za integraciju Toxiproxy sa sistemima za testiranje jedinica, pored toga što ima podršku za platforme kontinuirane integracije i razvojna okruženja.

O Toxiproxyju

Ovaj okvir je posebno dizajniran za rad u test okruženjima, CI i razvoj, te podržava determinističku manipulaciju vezama, ali uz podršku za slučajni haos i prilagođavanje.

U osnovi, Toxiproxy je pozicioniran kao alat da svi oni koji zahtevaju izvršiti demo testove na aplikacijama koje nemaju pojedinačne tačke kvara. Toxiproxy se uspješno koristi u svim razvojnim i testnim okruženjima na Shopifyju od oktobra 2014.

Upotreba toksiproksija sastoji se iz dva dela. TCP proxy napisan u Go (ono što ovo spremište sadrži) i klijent koji komunicira sa proxyjem putem HTTP-a. Ovo konfiguriše aplikaciju tako da sve testne veze prolaze kroz Toxiproxy, a zatim mogu manipulisati njihovim statusom putem HTTP-a.

Drugim riječima, punomoćnik se pokreće između aplikacije koja se testira i mrežnog servisa s kojim ova aplikacija komunicira, nakon čega možete simulirati nastanak određenog kašnjenja prilikom prijema odgovora od servera ili slanja zahtjeva, promijeniti propusni opseg, simulirati odbijanje prihvatanja veza, prekinuti normalan tok uspostavljanja ili zatvaranja veza, ponovo uspostaviti uspostavljene veze, iskriviti sadržaj paketa.

Za kontrolu rada proxy servera iz aplikacija, obezbeđene su klijentske biblioteke za Ruby, Go, Python, C#/.NET, PHP, JavaScript/Node.js, Java, Haskell, Rust i Elixir, koje vam omogućavaju da promenite interakcija uslove mreže u hodu i odmah procijenite rezultat.

Za promjenu karakteristika komunikacijskog kanala bez izmjene koda, može se koristiti poseban toxiproxy-cli uslužni program (Toxiproxy API bi se trebao koristiti u jediničnim testovima i uslužni program može biti koristan za interaktivne eksperimente).

Šta je novo u Toxiproxy 2.3?

Što se tiče promjena koje su uključene u novu verziju, spominje se da postoji uključivanje klijentskog endpoint kontrolera za HTTPS.

Kao i odvajanje tipičnih test drajvera u zasebne datoteke, implementacija client.Populate API-ja.

Pored ovoga, ističe se i podrška za armv7 i armv6 platforme i mogućnost promjene nivoa registracije za server.

Instalirajte Toxiproxy na Linux

Za one koji su zainteresovani da mogu da instaliraju ovaj okvir kako bi mogli da izvrše svoje testove, oni to mogu da urade slijedeći korake koje dijelimo u nastavku.

Ako ste korisnik korisnika Debian, Ubuntu ili bilo koja druga distribucija zasnovana na njima, Instalaciju možete izvršiti otvaranjem terminala (možete koristiti prečicu na tastaturi Ctrl + Alt + T) i u njega ćete upisati:
wget https://github.com/Shopify/toxiproxy/releases/download/v2.3.0/toxiproxy_2.3.0_linux_amd64.deb

I nastavljamo izvoditi instalaciju sa:
sudo apt install ./toxiproxy_2.3.0_linux_amd64.deb

U slučaju onih koji jesu korisnici distribucija s podrškom za RPM pakete, kao što su Fedora, openSuse, RHEL, između ostalih, paket za preuzimanje je sljedeći:
wget https://github.com/Shopify/toxiproxy/releases/download/v2.3.0/toxiproxy_2.3.0_linux_amd64.rpm

A vi instalirate paket tako što ćete upisati:
sudo rpm -i toxiproxy_2.3.0_linux_amd64.rpm

Nakon što je instalacija završena, možete pokrenuti uslugu izvršavanjem sljedeće naredbe u terminalu:
sudo service toxiproxy start

Konačno ako eZainteresovani ste da saznate više o tome, Trebali biste znati da je Toxiproxy kod napisan u Go i da ima MIT licencu i možete pogledati priručnik za korištenje ovog okvira u sljedeći link.


Ostavite komentar

Vaša e-mail adresa neće biti objavljena. Obavezna polja su označena sa *

*

*

  1. Odgovoran za podatke: AB Internet Networks 2008 SL
  2. Svrha podataka: Kontrola neželjene pošte, upravljanje komentarima.
  3. Legitimacija: Vaš pristanak
  4. Komunikacija podataka: Podaci se neće dostavljati trećim stranama, osim po zakonskoj obavezi.
  5. Pohrana podataka: Baza podataka koju hostuje Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.