最大の電子商取引プラットフォームの 2.3 つである Shopify は、ネットワークやシステムの障害や異常をシミュレートして、そのような状況が発生したときにアプリケーションのパフォーマンスをテストするように設計されたプロキシ サーバーである Toxiproxy XNUMX をリリースしました。 このプログラムは、通信チャネル特性を動的に変更するための API を提供することで注目に値します。これを使用して、Toxiproxy を単体テスト システム、継続的統合プラットフォーム、開発環境と統合できます。 Toxiproxy コードは Go で記述され、MIT ライセンスに基づいて配布されます。
プロキシは、テスト対象のアプリケーションと、アプリケーションが対話するネットワークサービスの間に起動され、その後、アプリケーションからの応答の受信に一定の遅延が発生することをシミュレートできます。 サーバー または要求を送信したり、帯域幅を変更したり、接続の拒否をシミュレートしたり、接続を確立または終了する通常の手順を妨害したり、確立された接続をリセットしたり、パケットの内容を歪めたりします。
アプリケーションからプロキシ サーバーの動作を制御するために、Ruby、Go、Python、C#/.NET、PHP、JavaScript/Node.js、Java、Haskell、Rust、Elixir 用のクライアント ライブラリが提供されており、ネットワーク インタラクションを変更できます。条件をその場で確認し、結果を即座に評価します。 コードを変更せずに通信チャネルの特性を変更するには、特別なユーティリティ toxiproxy-cli を使用できます (Toxiproxy API は単体テストで使用されることが想定されており、このユーティリティは対話型実験の実施に役立ちます)。
新しいリリースの変更点には、HTTPS 用のクライアント エンドポイント ハンドラーの組み込み、一般的なテスト ハンドラーの個別のファイルへの分離、client.Populate API の実装、armv7 および armv6 プラットフォームのサポート、および変更機能などがあります。サーバーのログレベル。
出所: オープンネット.ru
