2009-07-27 8 views
3

私は24時間365日稼動するクライアントサーバーアプリケーションを構築しています。アプリケーションは、ネットワーク障害を検出し(ハートビートを使用して)、サーバーにできるだけ早く再接続するように指定されています。さまざまなネットワークシナリオをシミュレートする方法は? (Javaで)

私が作った最初のテストは、単にクライアントまたはサーバーを停止してから、もう一度やり直すだけです。すべて正常に動作します。イーサネットケーブルのプラグを抜くだけでなく、輻輳、遅延、より現実的な問題をシミュレートするのに役立つツールがあるかどうかは疑問です。

答えて

3

アプリはプレーンなTCPソケットを使用していますか?それともHTTP/HTTPSを使用していますか? HTTPベースのFiddler(その他のプロキシサーバーと同様)には、接続速度が遅いとシミュレートする機能がありますが、Windowsのみで済みます。

また、私はApache TCPMonとそのilkのようなツールで良い経験をしています。私の経験では、現実世界で新たな面白い障害モードを見つけることになりますが、これらは輻輳や改行をかなりうまくシミュレートできます。

+0

TKSの作者です!私たちはbisockets上でJMSを使用しています –

0

Sniffyを使用すると、Javaアプリケーションでblock outgoing network connectionsを使用できます。制限付きホストへの新しい接続を確立しようとすると、ConnectExceptionが送出されます。

JVM引数に-javaagent:sniffy.jar=5559を追加して、ブラウザがlocalhost:5559になるようにすると、特定の接続を無効にするために、すべての検出された接続がダウンストリームシステムとコントロールで表示されます。

Sniffy connections console

現在(バージョン3.1.3のように)それが唯一の無接続のシナリオをサポートしていますが、遅延を追加するロードマップ上にあります。

免責事項:私はあなたの応答のためのSniffy

関連する問題