백엔드 서비스를 개발 중입니다. 백엔드에는 몇 가지 프로세스가 포함되어 있습니다. 즉, 클라이언트가 내 서버에 요청을 보낼 때 요청이 이러한 프로세스를 거칩니다.
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
다른 패킷 보내기 " 라고 씁니다 . 고정된 포트에서 전송되는 것이 아니라고 확신합니다. 그렇게 하면 "동시" 요청이 하나로 제한됩니다. 또한 요청은 하나의 패킷이 아니라 여러 패킷이므로 네트워크 세부 정보를 보는 것은 일반적으로 애플리케이션 수준 문제를 처리하는 데 유용하지 않습니다.4444
7777
TCP/IP 패킷을 보려면 도구는 tcpdump
, not netstat
또는 입니다 lsof
.