Toxiproxy, kerangka kerja untuk mensimulasikan kondisi jaringan di lingkungan pengujian

Shopify, yang mengembangkan salah satu platform e-commerce terbesar dan terpopuler di web, dio baru-baru ini mengumumkan bahwa mereka telah meluncurkan versi baru dari server proxy «Toxiproxy 2.3» yang dirancang untuk mensimulasikan kegagalan dan anomali dalam jaringan dan sistem untuk menguji keadaan aplikasi ketika kondisi tersebut terjadi.

Program ini menonjol karena menyediakan API untuk mengubah karakteristik saluran komunikasi secara dinamis, yang dapat digunakan untuk mengintegrasikan Toxiproxy dengan sistem pengujian unit, selain juga memiliki dukungan untuk platform integrasi berkelanjutan dan lingkungan pengembangan.

Tentang Toxiproxy

Kerangka ini dirancang khusus untuk bekerja di lingkungan pengujian, CI dan pengembangan, dan mendukung manipulasi koneksi deterministik, tetapi dengan dukungan untuk kekacauan dan penyesuaian acak.

Pada dasarnya, Toxiproxy diposisikan sebagai alat bahwa semua orang yang membutuhkan melakukan tes demo pada aplikasi yang tidak memiliki titik kegagalan tunggal. Toxiproxy telah berhasil digunakan di semua lingkungan pengembangan dan pengujian di Shopify sejak Oktober 2014.

Penggunaan toxiproxy terdiri dari dua bagian. Proksi TCP yang ditulis dalam Go (isi repositori ini) dan klien yang berkomunikasi dengan proksi melalui HTTP. Ini mengonfigurasi aplikasi sehingga semua koneksi uji melalui Toxiproxy dan kemudian dapat memanipulasi statusnya melalui HTTP.

Dengan kata lain, proxy diluncurkan antara aplikasi yang sedang diuji dan layanan jaringan yang berinteraksi dengan aplikasi ini, setelah itu Anda dapat mensimulasikan terjadinya penundaan tertentu saat menerima respons dari server atau mengirim permintaan, mengubah bandwidth, mensimulasikan penolakan untuk menerima koneksi, mengganggu jalur normal pembentukan atau penutupan koneksi, membangun kembali koneksi yang sudah ada , mendistorsi isi paket-paketnya.

Untuk mengontrol operasi server proxy dari aplikasi, perpustakaan klien untuk Ruby, Go, Python, C # /.NET, PHP, JavaScript / Node.js, Java, Haskell, Rust dan Elixir disediakan, yang memungkinkan Anda untuk mengubah kondisi interaksi jaringan dengan cepat dan segera mengevaluasi hasilnya.

Untuk mengubah karakteristik saluran komunikasi tanpa membuat perubahan pada kode, utilitas toxiproxy-cli khusus dapat digunakan (API Toxiproxy seharusnya digunakan dalam pengujian unit dan utilitas dapat berguna untuk eksperimen interaktif).

Apa yang baru di Toxiproxy 2.3?

Adapun perubahan yang disertakan dalam versi baru yang dirilis, disebutkan bahwa ada penyertaan pengontrol titik akhir klien untuk HTTPS.

Serta pemisahan driver uji khas ke dalam file terpisah, implementasi client.Populate API.

Selain itu, dukungan untuk platform armv7 dan armv6 dan kemampuan untuk mengubah tingkat registri untuk server juga disorot.

Instal Toxiproxy di Linux

Bagi mereka yang tertarik untuk dapat menginstal kerangka kerja ini untuk dapat melakukan pengujian mereka, mereka dapat melakukannya mengikuti langkah-langkah yang kami bagikan di bawah ini.

Jika Anda adalah pengguna Debian, Ubuntu atau distribusi lain berdasarkan ini, Anda dapat melakukan instalasi dengan membuka terminal (Anda dapat menggunakan pintasan keyboard Ctrl + Alt + T) dan di dalamnya Anda akan mengetik:
wget https://github.com/Shopify/toxiproxy/releases/download/v2.3.0/toxiproxy_2.3.0_linux_amd64.deb

Dan kami melanjutkan untuk melakukan instalasi dengan:
sudo apt install ./toxiproxy_2.3.0_linux_amd64.deb

Dalam kasus itu pengguna distribusi dengan dukungan untuk paket RPM, seperti Fedora, openSuse, RHEL, antara lain, paket yang harus diunduh adalah sebagai berikut:
wget https://github.com/Shopify/toxiproxy/releases/download/v2.3.0/toxiproxy_2.3.0_linux_amd64.rpm

Dan Anda menginstal paket dengan mengetik:
sudo rpm -i toxiproxy_2.3.0_linux_amd64.rpm

Setelah instalasi selesai, Anda dapat memulai layanan dengan menjalankan perintah berikut di terminal:
sudo service toxiproxy start

Akhirnya jika eAnda tertarik untuk mengetahui lebih banyak tentangnya, Anda harus tahu bahwa kode Toxiproxy ditulis dalam Go dan memiliki lisensi MIT dan Anda dapat membaca manual untuk menggunakan kerangka kerja ini di link berikut.


tinggalkan Komentar Anda

Alamat email Anda tidak akan dipublikasikan. Bidang yang harus diisi ditandai dengan *

*

*

  1. Bertanggung jawab atas data: AB Internet Networks 2008 SL
  2. Tujuan data: Mengontrol SPAM, manajemen komentar.
  3. Legitimasi: Persetujuan Anda
  4. Komunikasi data: Data tidak akan dikomunikasikan kepada pihak ketiga kecuali dengan kewajiban hukum.
  5. Penyimpanan data: Basis data dihosting oleh Occentus Networks (UE)
  6. Hak: Anda dapat membatasi, memulihkan, dan menghapus informasi Anda kapan saja.