주니어 백엔드 개발자가 반드시 알아야 할 실무 지식 - 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 라이센스를 따릅니다.
댓글
아직 댓글이 없습니다