バックエンドサーバーを開発中です。バックエンドのアーキテクチャは次のとおりです。
APP --> Server1 --> Server2 --> Server3 --> MyServer
APPはバックエンドにHTTP要求を送信し、Server1
バックエンドサーバーはTCPプロトコルベースのRPCを使用して通信します。
開発中ですが、まだ作業が完了していないため、常に利用できないMyServer
多くのテストを実行する必要があります。Server3
Server1
私はRPCが何であるかわからず、Server2
実際にそうしました。 RPCはServer3
本当に複雑で、これには私が知らなかった多くのパラメータが含まれていました。必要なのは、リクエストをキャプチャし、その内容をスクリプトにコピーしてスクリプトを実行してリクエストをシミュレートすることです。Server3
MyServer
Server3
たとえば、見てみましょう。
Server3
パラメータMyServer
付きRCPが送信されます。私はそれが私が興味のあるすべてであるので、それを処理し、新しいパラメータを生成して別のサーバーに送信します。したがって、必要に応じてテストできるようにRPCをシミュレートする必要があります。p1
p2
p3
p3
p3
p4
p1
p2
p4
Server3
MyServer
契約について
私たちのチームは、RPC用の独自のプロトコルを含む独自のフレームワークを使用しています。私が知っているのは、プロトコルがHTTPではなくTCPに基づいているということだけです。したがって、私にとって必要なのは、要求をキャプチャし、必要に応じて再生するServer3
ことです。
ベストアンサー1
HTTPを扱う場合、より良いツールtcpdump
は「透明なプロキシ」です。その後、要求を再実行することもできます。
Googleの周りには透明なプロキシがたくさんあります。
たとえば、次のようにmitmproxy
なります。再生リクエスト。