バックエンドサービスを開発中です。バックエンドにはいくつかのプロセスが含まれています。つまり、クライアントがサーバーに要求を送信すると、要求はこれらのプロセスを経ます。
nginx
たとえば、要求は最初にプロセスに送信され、次にプロセスに送信され、次にプロセスに送信されhttp_proxy
ますrequest_handler
。
私がしなければならないことは、次のようにリクエストパスを追跡することです。
req ---> nginx:8888
nginx:4444 ---> http_proxy:7777
http_proxy:2222 ---> request_handler:6666
req
そのポートを介してプロセスに別のパケットを送信し、そのポートからそのポートに別のパケットを送信し、プロセスがそのパケットを受信し、そのポートからそのポートに別のパケットを送信し、プロセスがパケットを受信することを意味します。コース。nginx
8888
nginx
4444
7777
http_proxy
http_proxy
2222
6666
request_handler
それは本当ではないようで、netstat
私がlsof
必要とすることを行います。これを行う方法やツールはありますか?
答え1
TCP/IPをよりよく理解する必要があるか、TCP/IPがまったく必要ないと言われて申し訳ありません。
アプリケーションのロギングは問題に答えることができますが、これはアプリケーションによって異なります。
「ポートからポートへnginx
別のパケットを送信する」と書き込みます。固定ポートで送信されるわけではないと確信しています。これにより、「同時」要求が1つに制限されます。さらに、要求は単一のパケットではなく複数のパケットであるため、ネットワークの詳細を表示することは通常、アプリケーションレベルの問題を処理するのには役に立ちません。4444
7777
TCP / IPパケットを表示するには、ツールはtcpdump
、notnetstat
またはですlsof
。