Компания Shopify, развиваща една от най-големите платформи за електронна търговия, публикува версия 2.3 на прокси сървъра Toxiproxy, предназначен за симулиране на мрежови и системни сривове и аномалии, с цел тестване на работоспособността на приложенията при възникване на подобни условия. Програмата е забележителна със своето API, което позволява динамична промяна на характеристиките на канала на връзка, и може да се използва за интеграция на Toxiproxy с системи за unit тестове, платформи за непрекъсната интеграция и среди за разработка. Кодът на Toxiproxy е написан на Go и се разпространява под MIT лиценз.
Проксито се стартира между тестваното приложение и мрежовата услуга, с която това приложение взаимодействува, след което може да симулира възникването на определена забавяне при получаване на отговор от сървър или изпращане на заявка, да променя пропускателната способност, да симулира отказ за приемане на връзки, да нарушава нормалния процес на устаняване или затваряне на връзки, да нулира установените връзки, да изкривява съдържанието на пакетите.
За управление на работата на прокси сървъра от приложенията са предоставени клиентски библиотеки за Ruby, Go, Python, C#/ .NET, PHP, JavaScript/Node.js, Java, Haskell, Rust и Elixir, които позволяват на летящи да променят условията на мрежовото взаимодействие и веднага да оценят резултата. За промяна на характеристиките на канала на връзка без изменения в кода може да се използва специалната утилита toxiproxy-cli (предполага се, че API Toxiproxy се използва в unit тестове, а утилитата може да бъде полезна за провеждане на интерактивни експерименти).
От промените в новата версия се отбелязва включването на клиентски endpoint обработчик за HTTPS, разделяне на типични тестови обработчици в отделни файлове, реализиране на API client.Populate, поддръжка на платформи armv7 и armv6, възможност за промяна на нивото на логване за сървъра.
Източник: opennet.ru
