このプロジェクトについて

Toxiproxyは、カオスエンジニアリングと回復力テストのために設計された、Goで記述されたTCPプロキシです。アプリケーションとアップストリームサービス(データベースやキャッシュなど)の間の接続をインターセプトすることで、開発者がさまざまなネットワーク障害や条件をシミュレートすることを可能にします。 主な機能は以下の通りです: - ネットワークシミュレーション (Toxics):レイテンシ(遅延の追加)、帯域幅制限、TCPタイムアウト、接続リセット、パケットロス、TCPデータの小パケットへの分割など、データフローを操作するための複数の「toxics」を提供します。 - 動的制御:プロキシとtoxicsは、REST HTTP APIまたはコマンドラインインターフェース (CLI) を介してリアルタイムで管理でき、統合テストやユニットテスト中に決定論的な改ざんを可能にします。 - クロスプラットフォームサポート:サーバーはGoで記述されており、Linux、macOS、Windows、およびDockerで利用可能です。 - エコシステム:サーバー自体は言語に依存しませんが、Ruby、Go、Python、.NET、PHP、Node.js、Java、Haskell、Rust、Elixir向けの公式およびコミュニティ主導のクライアントライブラリが存在します。 - モニタリング:HTTP APIを通じてPrometheus互換のメトリクスを公開し、プロキシのパフォーマンスと動作を追跡できます。