포스트

주니어 백엔드 개발자가 반드시 알아야 할 실무 지식 - 10장 모르면 답답해지는 네트워크 기초

백엔드 개발자는 네트워크를 깊게 전공하지 않아도 되지만,
HTTP 요청 하나가 어떤 경로를 거쳐 서버에 도달하는지는 이해해야 한다.

최소한 알아야 할 것

  • DNS
  • TCP handshake
  • TLS
  • HTTP keep-alive
  • timeout
  • load balancer / reverse proxy

왜 중요한가

외부 연동 문제나 응답 지연 문제는 네트워크 기초를 모르면 전부 “그냥 느리다”로만 보인다.

예를 들어:

  • DNS 지연
  • TCP 연결 수립 지연
  • TLS handshake 비용
  • LB idle timeout

은 전부 서로 다른 문제다.

실무에서 자주 헷갈리는 것

connection timeout vs read timeout

  • connection timeout: 연결 자체가 안 됨
  • read timeout: 연결은 됐지만 응답이 늦음

keep-alive

매 요청마다 연결을 새로 만드는 건 비싸다.
그래서 커넥션 재사용이 중요하다.

프록시 계층

클라이언트와 애플리케이션 서버 사이에는 종종:

  • CDN
  • LB
  • reverse proxy
  • ingress

같은 계층이 있다. 문제는 이 중간 계층에서 생기기도 한다.

정리

네트워크를 알아야 하는 이유는 “프로토콜 이론” 때문이 아니라,
장애를 계층별로 나눠서 해석하기 위해서다.

이 기사는 저작권자의 CC BY 4.0 라이센스를 따릅니다.

댓글

아직 댓글이 없습니다