Toxiproxy, un cadru pentru simularea condițiilor de rețea în medii de testare

Shopify, care dezvoltă una dintre cele mai mari și mai populare platforme de comerț electronic de pe web, dio a anunțat recent că a lansat noua versiune a serverului proxy «Toxiproxy 2.3» care este conceput pentru a simula defecțiunile și anomaliile din rețea și sistemul pentru a testa starea aplicațiilor atunci când apar astfel de condiții.

Programul se remarcă prin furnizarea unui API pentru modificarea dinamică a caracteristicilor canalului de comunicație, care poate fi folosit pentru integrarea Toxiproxy cu sisteme de test unitar, pe lângă faptul că are și suport pentru platforme de integrare continuă și medii de dezvoltare.

Despre Toxiproxy

Acest cadru este special conceput pentru a funcționa în medii de testare, CI și dezvoltare și acceptă manipularea deterministă a conexiunilor, dar cu suport pentru haos aleatoriu și personalizare.

practic, Toxiproxy este poziționat ca un instrument că toţi cei care au nevoie efectuați teste demo pe aplicațiile care nu au puncte unice de eșec. Toxiproxy a fost folosit cu succes în toate mediile de dezvoltare și testare de pe Shopify din octombrie 2014.

Utilizarea toxiproxy constă din două părți. Un proxy TCP scris în Go (ceea ce conține acest depozit) și un client care comunică cu proxy-ul prin HTTP. Aceasta configurează aplicația astfel încât toate conexiunile de testare să treacă prin Toxiproxy și apoi să le poată manipula starea prin HTTP.

Cu alte cuvinte, proxy-ul este lansat între aplicația testată și serviciul de rețea cu care această aplicație interacționează, după care puteți simula apariția unei anumite întârzieri la primirea unui răspuns de la server sau la trimiterea unei cereri, modificarea lățimii de bandă, simularea unui refuz de a accepta conexiuni, întreruperea cursului normal de stabilire sau închiderea conexiunilor, restabilirea conexiunilor stabilite, distorsionarea continutul pachetelor.

Pentru a controla funcționarea serverului proxy din aplicații, sunt furnizate biblioteci client pentru Ruby, Go, Python, C # /. NET, PHP, JavaScript / Node.js, Java, Haskell, Rust și Elixir, care vă permit să schimbați condițiile de interacțiune rețeaua din mers și evaluează imediat rezultatul.

Pentru a schimba caracteristicile canalului de comunicare fără a face modificări codului, se poate folosi un utilitar special toxiproxy-cli (API-ul Toxiproxy se presupune a fi folosit în testele unitare, iar utilitarul poate fi util pentru experimente interactive).

Ce este nou în Toxiproxy 2.3?

În ceea ce privește modificările care sunt incluse în noua versiune lansată, se menționează că există includerea unui controller endpoint client pentru HTTPS.

Precum și separarea driverelor de testare tipice în fișiere separate, implementarea API-ului client.Populate.

Pe lângă aceasta, se remarcă și suportul pentru platformele armv7 și armv6 și capacitatea de a schimba nivelul de înregistrare pentru server.

Instalați Toxiproxy pe Linux

Pentru cei care sunt interesați să poată instala acest cadru pentru a-și putea efectua testele, pot face acest lucru urmând pașii pe care îi împărtășim mai jos.

Dacă sunteți utilizator de Debian, Ubuntu sau orice altă distribuție bazată pe acestea, Puteți efectua instalarea deschizând un terminal (puteți folosi comanda rapidă de la tastatură Ctrl + Alt + T) și în acesta veți tasta:
wget https://github.com/Shopify/toxiproxy/releases/download/v2.3.0/toxiproxy_2.3.0_linux_amd64.deb

Și continuăm să realizăm instalarea cu:
sudo apt install ./toxiproxy_2.3.0_linux_amd64.deb

În cazul celor care sunt utilizatorii de distribuții cu suport pentru pachete RPM, cum ar fi Fedora, openSuse, RHEL, printre altele, pachetul de descărcat este următorul:
wget https://github.com/Shopify/toxiproxy/releases/download/v2.3.0/toxiproxy_2.3.0_linux_amd64.rpm

Și instalezi pachetul tastând:
sudo rpm -i toxiproxy_2.3.0_linux_amd64.rpm

Odată ce instalarea este finalizată, puteți porni serviciul executând următoarea comandă în terminal:
sudo service toxiproxy start

În cele din urmă, dacă eEști interesat să poți afla mai multe despre asta, Trebuie să știți că codul Toxiproxy este scris în Go și are licență MIT și puteți consulta manualul de utilizare a acestui cadru în următorul link.


Lasă comentariul tău

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *

*

*

  1. Responsabil pentru date: AB Internet Networks 2008 SL
  2. Scopul datelor: Control SPAM, gestionarea comentariilor.
  3. Legitimare: consimțământul dvs.
  4. Comunicarea datelor: datele nu vor fi comunicate terților decât prin obligație legală.
  5. Stocarea datelor: bază de date găzduită de Occentus Networks (UE)
  6. Drepturi: în orice moment vă puteți limita, recupera și șterge informațiile.