買い物をする、 これは、Web上で最大かつ最も人気のあるeコマースプラットフォームのXNUMXつを開発しています。dioは最近、プロキシサーバー«Toxiproxy2.3»の新しいバージョンをリリースしたことを発表しました。 これは、ネットワークとシステムの障害と異常をシミュレートして、そのような状態が発生したときにアプリケーションの状態をテストするように設計されています。
このプログラムは、継続的インテグレーションプラットフォームと開発環境のサポートに加えて、Toxiproxyを単体テストシステムと統合するために使用できる通信チャネルの特性を動的に変更するAPIを提供することで際立っています。
Toxiproxyについて
このフレームワーク テスト環境で動作するように特別に設計されています。 CIと開発、および接続の決定論的操作をサポートしますが、ランダムなカオスとカスタマイズをサポートします。
基本的には Toxiproxyはツールとして位置付けられています 必要なすべての人 単一障害点がないアプリケーションでデモテストを実行します。 Toxiproxyは、2014年XNUMX月以降、Shopifyのすべての開発およびテスト環境で正常に使用されています。
toxiproxyの使用は、XNUMXつの部分で構成されています。 Go(このリポジトリに含まれるもの)で記述されたTCPプロキシと、HTTPを介してプロキシと通信するクライアント。 これにより、すべてのテスト接続がToxiproxyを経由し、HTTPを介してステータスを操作できるようにアプリケーションが構成されます。
言い換えれば、プロキシ テスト対象のアプリケーションと、このアプリケーションが対話するネットワークサービスの間で起動されます。 その後、サーバーからの応答の受信または要求の送信時に特定の遅延の発生をシミュレートし、帯域幅を変更し、接続の受け入れの拒否をシミュレートし、接続の通常の確立または閉鎖の過程を中断し、確立された接続を再確立し、歪ませることができますパッケージの内容。
アプリケーションからプロキシサーバーの動作を制御するために、Ruby、Go、Python、C#/。NET、PHP、JavaScript / Node.js、Java、Haskell、Rust、Elixirのクライアントライブラリが提供されています。相互作用条件はその場でネットワーク化し、すぐに結果を評価します。
コードを変更せずに通信チャネルの特性を変更するには、特別なtoxiproxy-cliユーティリティを使用できます(Toxiproxy APIは単体テストで使用されることになっており、このユーティリティはインタラクティブな実験に役立ちます)。
Toxiproxy 2.3の新機能は何ですか?
リリースされた新しいバージョンに含まれる変更については、HTTPS用のクライアントエンドポイントコントローラーが含まれていると記載されています。
一般的なテストドライバーを個別のファイルに分離するだけでなく、client.PopulateAPIの実装。
これに加えて、armv7およびarmv6プラットフォームのサポートと、サーバーのレジストリレベルを変更する機能も強調されています。
LinuxにToxiproxyをインストールする
このフレームワークをインストールしてテストを実行できるようにすることに関心がある場合は、これを実行できます。 以下で共有する手順に従います。
あなたがのユーザーであれば 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
最後にeあなたはそれについてもっと知ることができることに興味があります、 ToxiproxyコードはGoで記述されており、MITライセンスを持っていることを知っておく必要があります。また、このフレームワークを使用するためのマニュアルを参照できます。 次のリンク。