Κυκλοφορία του Toxiproxy 2.3, ενός διακομιστή μεσολάβησης για τη δοκιμή της ανθεκτικότητας της εφαρμογής σε προβλήματα δικτύου

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

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

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

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

Πηγή: opennet.ru

Προσθέστε ένα σχόλιο