Uitgave van Toxiproxy 2.3, een proxy voor het testen van de veerkracht van applicaties bij netwerkproblemen

Shopify, een van de grootste e-commerceplatforms, heeft Toxiproxy 2.3 uitgebracht, een proxyserver die is ontworpen om netwerk- en systeemfouten en afwijkingen te simuleren om de prestaties van applicaties te testen wanneer dergelijke omstandigheden zich voordoen. Het programma is opmerkelijk omdat het een API biedt voor dynamisch veranderende kenmerken van communicatiekanalen, die kunnen worden gebruikt om Toxiproxy te integreren met unit-testsystemen, continue integratieplatforms en ontwikkelomgevingen. De Toxiproxy-code is geschreven in Go en gedistribueerd onder de MIT-licentie.

Er loopt een proxy tussen de applicatie die wordt getest en de netwerkdienst waarmee deze applicatie communiceert, waarna deze het optreden van een bepaalde vertraging kan simuleren bij het ontvangen van een antwoord van de server of het verzenden van een verzoek, de bandbreedte kan wijzigen, een weigering kan simuleren om verbindingen te accepteren , de normale voortgang van het tot stand brengen of sluiten van verbindingen verstoren, gevestigde verbindingen resetten, de inhoud van pakketten vervormen.

Om de werking van de proxyserver vanuit applicaties te controleren, zijn er clientbibliotheken beschikbaar voor Ruby, Go, Python, C#/.NET, PHP, JavaScript/Node.js, Java, Haskell, Rust en Elixir, waarmee u de netwerkinteractie kunt wijzigen omstandigheden ter plekke en evalueer onmiddellijk het resultaat. Om de kenmerken van een communicatiekanaal te wijzigen zonder wijzigingen in de code aan te brengen, kan een speciaal hulpprogramma toxiproxy-cli worden gebruikt (er wordt aangenomen dat de Toxiproxy API wordt gebruikt bij unit-tests, en het hulpprogramma kan nuttig zijn voor het uitvoeren van interactieve experimenten).

Tot de veranderingen in de nieuwe release behoren de opname van een client-eindpunthandler voor HTTPS, de scheiding van typische testhandlers in afzonderlijke bestanden, de implementatie van de client.Populate API, ondersteuning voor de armv7- en armv6-platforms, en de mogelijkheid om te veranderen het logniveau voor de server.

Bron: opennet.ru

Voeg een reactie