Toxiproxy, okvir za simulaciju mrežnih uvjeta 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 poslužitelja «Toxiproxy 2.3» koji je dizajniran da simulira kvarove i anomalije u mreži i sustavu za testiranje stanja aplikacija kada se takvi uvjeti pojave.

Program se ističe pružanjem API-ja za dinamičku promjenu karakteristika komunikacijskog kanala, koji se može koristiti za integraciju Toxiproxya sa sustavima za testiranje jedinica, osim što ima podršku za platforme kontinuirane integracije i razvojna okruženja.

O Toxiproxyju

Ovaj okvir posebno je dizajniran za rad u testnim okruženjima, CI i razvoj, te podržava determinističku manipulaciju vezama, ali uz podršku za slučajni kaos i prilagodbu.

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

Korištenje toxiproxy sastoji se od dva dijela. TCP proxy napisan u Go (što ovo spremište sadrži) i klijent koji komunicira s proxyjem putem HTTP-a. Ovo konfigurira aplikaciju tako da sve testne veze prolaze kroz Toxiproxy, a zatim mogu manipulirati svojim statusom putem HTTP-a.

Drugim riječima, punomoćnik se pokreće između aplikacije koja se testira i mrežne usluge s kojom ova aplikacija komunicira, nakon čega možete simulirati nastanak određenog kašnjenja pri primanju odgovora od poslužitelja ili slanju zahtjeva, promijeniti propusnost, simulirati odbijanje prihvaćanja veza, prekinuti normalan tijek uspostavljanja ili zatvaranja veza, ponovno uspostaviti uspostavljene veze, iskriviti sadržaj paketa.

Za kontrolu rada proxy poslužitelja iz aplikacija, dostupne su klijentske biblioteke za Ruby, Go, Python, C # /. NET, PHP, JavaScript / Node.js, Java, Haskell, Rust i Elixir, koje vam omogućuju promjenu uvjeti interakcije mreže u hodu i odmah procijeniti 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, a uslužni program može biti koristan za interaktivne eksperimente).

Što je novo u Toxiproxy 2.3?

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

Kao i odvajanje tipičnih testnih upravljačkih programa u zasebne datoteke, implementacija API-ja client.Populate.

Osim toga, istaknuta je i podrška za platforme armv7 i armv6 te mogućnost promjene razine registra za poslužitelj.

Instalirajte Toxiproxy na Linux

Za one koji su zainteresirani da mogu instalirati ovaj okvir kako bi mogli provesti svoje testove, mogu to učiniti slijedeći korake koje dijelimo u nastavku.

Ako ste korisnik korisnika Debian, Ubuntu ili bilo koja druga distribucija koja se temelji na njima, Instalaciju možete izvršiti otvaranjem terminala (možete koristiti tipkovnički prečac 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 da upišete:
sudo rpm -i toxiproxy_2.3.0_linux_amd64.rpm

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

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


Ostavite svoj komentar

Vaša email adresa neće biti objavljen. Obavezna polja su označena s *

*

*

  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 obvezi.
  5. Pohrana podataka: Baza podataka koju hostira Occentus Networks (EU)
  6. Prava: U bilo kojem trenutku možete ograničiti, oporaviti i izbrisati svoje podatke.