Toxiproxy, ένα πλαίσιο για την προσομοίωση συνθηκών δικτύου σε περιβάλλοντα δοκιμής

Shopify, η οποία αναπτύσσει μία από τις μεγαλύτερες και πιο δημοφιλείς πλατφόρμες ηλεκτρονικού εμπορίου στο διαδίκτυο, δΗ io ανακοίνωσε πρόσφατα ότι κυκλοφόρησε τη νέα έκδοση του διακομιστή μεσολάβησης «Toxiproxy 2.3» που έχει σχεδιαστεί για να προσομοιώνει αστοχίες και ανωμαλίες στο δίκτυο και στο σύστημα για να ελέγχει την κατάσταση των εφαρμογών όταν συμβαίνουν τέτοιες συνθήκες.

Το πρόγραμμα ξεχωρίζει για την παροχή ενός API για τη δυναμική αλλαγή των χαρακτηριστικών του καναλιού επικοινωνίας, το οποίο μπορεί να χρησιμοποιηθεί για την ενσωμάτωση του Toxiproxy με συστήματα δοκιμών μονάδων, εκτός από την υποστήριξη για πλατφόρμες συνεχούς ενοποίησης και περιβάλλοντα ανάπτυξης.

Σχετικά με το Toxiproxy

Αυτό το πλαίσιο έχει σχεδιαστεί ειδικά για να λειτουργεί σε δοκιμαστικά περιβάλλοντα, CI και ανάπτυξη, και υποστηρίζει ντετερμινιστικό χειρισμό των συνδέσεων, αλλά με υποστήριξη για τυχαίο χάος και προσαρμογή.

Βασικά, Το Toxiproxy τοποθετείται ως εργαλείο ότι όλοι όσοι απαιτούν πραγματοποιήστε δοκιμαστικές δοκιμές σε εφαρμογές που δεν έχουν μεμονωμένα σημεία αποτυχίας. Το Toxiproxy έχει χρησιμοποιηθεί με επιτυχία σε όλα τα περιβάλλοντα ανάπτυξης και δοκιμών στο Shopify από τον Οκτώβριο του 2014.

Η χρήση του toxiproxy αποτελείται από δύο μέρη. Ένας διακομιστής μεσολάβησης TCP γραμμένος στο Go (τι περιέχει αυτό το αποθετήριο) και ένας πελάτης που επικοινωνεί με τον διακομιστή μεσολάβησης μέσω HTTP. Αυτό διαμορφώνει την εφαρμογή έτσι ώστε όλες οι δοκιμαστικές συνδέσεις να περνούν από το Toxiproxy και στη συνέχεια να μπορούν να χειριστούν την κατάστασή τους μέσω HTTP.

Με άλλα λόγια, ο πληρεξούσιος εκκινείται μεταξύ της εφαρμογής που ελέγχεται και της υπηρεσίας δικτύου με την οποία αλληλεπιδρά αυτή η εφαρμογή, μετά από την οποία μπορείτε να προσομοιώσετε την εμφάνιση μιας ορισμένης καθυστέρησης κατά τη λήψη απάντησης από τον διακομιστή ή την αποστολή αιτήματος, να αλλάξετε το εύρος ζώνης, να προσομοιώσετε μια άρνηση αποδοχής συνδέσεων, να διακόψετε την κανονική πορεία της εγκατάστασης ή το κλείσιμο των συνδέσεων, να αποκαταστήσετε τις εγκατεστημένες συνδέσεις, να παραμορφώσετε το περιεχόμενο των συσκευασιών.

Για τον έλεγχο της λειτουργίας του διακομιστή μεσολάβησης από εφαρμογές, παρέχονται βιβλιοθήκες πελατών για Ruby, Go, Python, C # /. NET, PHP, JavaScript / Node.js, Java, Haskell, Rust και Elixir, οι οποίες σας επιτρέπουν να αλλάξετε το συνθήκες αλληλεπίδρασης δικτύου εν κινήσει και αξιολογήστε αμέσως το αποτέλεσμα.

Για να αλλάξετε τα χαρακτηριστικά του καναλιού επικοινωνίας χωρίς να κάνετε αλλαγές στον κώδικα, μπορεί να χρησιμοποιηθεί ένα ειδικό βοηθητικό πρόγραμμα toxiproxy-cli (το Toxiproxy API υποτίθεται ότι χρησιμοποιείται σε δοκιμές μονάδας και το βοηθητικό πρόγραμμα μπορεί να είναι χρήσιμο για διαδραστικά πειράματα).

Τι νέο υπάρχει στο Toxiproxy 2.3;

Όσον αφορά τις αλλαγές που περιλαμβάνονται στη νέα έκδοση που κυκλοφόρησε, αναφέρεται ότι υπάρχει η συμπερίληψη ενός πελάτη τερματικού ελεγκτή για HTTPS.

Καθώς και ο διαχωρισμός τυπικών προγραμμάτων οδήγησης δοκιμής σε ξεχωριστά αρχεία, η υλοποίηση του προγράμματος-πελάτη. Συμπληρώστε το API.

Εκτός από αυτό, ξεχωρίζει επίσης η υποστήριξη για πλατφόρμες armv7 και armv6 και η δυνατότητα αλλαγής του επιπέδου εγγραφής για τον διακομιστή.

Εγκαταστήστε το Toxiproxy σε Linux

Για όσους ενδιαφέρονται να μπορούν να εγκαταστήσουν αυτό το πλαίσιο για να μπορούν να πραγματοποιήσουν τις δοκιμές τους, μπορούν να το κάνουν ακολουθώντας τα βήματα που μοιραζόμαστε παρακάτω.

Αν είστε χρήστης του Debian, Ubuntu ή οποιαδήποτε άλλη διανομή που βασίζεται σε αυτά, Μπορείτε να πραγματοποιήσετε την εγκατάσταση ανοίγοντας ένα τερματικό (μπορείτε να χρησιμοποιήσετε τη συντόμευση πληκτρολογίου Ctrl + Alt + T) και σε αυτό θα πληκτρολογήσετε:
wget https://github.com/Shopify/toxiproxy/releases/download/v2.3.0/toxiproxy_2.3.0_linux_amd64.deb

Και προχωρούμε στην εκτέλεση της εγκατάστασης με:
sudo apt install ./toxiproxy_2.3.0_linux_amd64.deb

Στην περίπτωση εκείνων που είναι χρήστες διανομών με υποστήριξη για πακέτα RPM, όπως το Fedora, το openSuse, η RHEL, μεταξύ άλλων, το πακέτο για λήψη είναι το εξής:
wget https://github.com/Shopify/toxiproxy/releases/download/v2.3.0/toxiproxy_2.3.0_linux_amd64.rpm

Και εγκαθιστάτε το πακέτο πληκτρολογώντας:
sudo rpm -i toxiproxy_2.3.0_linux_amd64.rpm

Μόλις ολοκληρωθεί η εγκατάσταση, μπορείτε να ξεκινήσετε την υπηρεσία εκτελώντας την ακόλουθη εντολή στο τερματικό:
sudo service toxiproxy start

Τέλος αν εΣας ενδιαφέρει να μάθετε περισσότερα για αυτό, Θα πρέπει να γνωρίζετε ότι ο κωδικός Toxiproxy είναι γραμμένος στο Go και έχει την άδεια MIT και μπορείτε να συμβουλευτείτε το εγχειρίδιο χρήσης αυτού του πλαισίου στο παρακάτω σύνδεσμο.


Αφήστε το σχόλιό σας

Η διεύθυνση email σας δεν θα δημοσιευθεί. Τα υποχρεωτικά πεδία σημειώνονται με *

*

*

  1. Υπεύθυνος για τα δεδομένα: AB Internet Networks 2008 SL
  2. Σκοπός των δεδομένων: Έλεγχος SPAM, διαχείριση σχολίων.
  3. Νομιμοποίηση: Η συγκατάθεσή σας
  4. Κοινοποίηση των δεδομένων: Τα δεδομένα δεν θα κοινοποιούνται σε τρίτους, εκτός από νομική υποχρέωση.
  5. Αποθήκευση δεδομένων: Βάση δεδομένων που φιλοξενείται από τα δίκτυα Occentus (ΕΕ)
  6. Δικαιώματα: Ανά πάσα στιγμή μπορείτε να περιορίσετε, να ανακτήσετε και να διαγράψετε τις πληροφορίες σας.