중요한 내용은 첫 문단입니다.
요약하자면, “‘Connection reset by peer’ 에러 발생은 TCP stream이 닫혔다는 것을 의미한다.”입니다.
TCP는 “데이터 전송 제어 프로토콜”로 종단간 연결을 통해서 데이터를 어떻게 전송할지 정의합니다.
그러면 어떻게 TCP 흐름이 중단 되었는지 살펴보겠습니다.
현재 우리 서비스는 HTTP/2를 활용하고 있습니다.
HTTP/2는 HTTP/1.1를 호환하는데, HTTP/1.1(RFC 2068)에서 추가된 커넥션 관련 기능인 “Keep-Alive”가 적용되면 다음 이점을 얻을 수 있습니다.
1. latency 감소 : 3-way handshake에 필요한 round-trip이 줄어들기 때문에 그만큼 latency가 감소합니다.
2. 네트워크 비용 감소 : 커넥션을 재사용하기 때문에 새로운 TCP 연결을 만들기 위해서 필요한 CPU, 메모리 리소스를 줄여줍니다.
3. HTTP 파이프라인 커넥션 : 여러 개의 요청을 파이프라이닝 할 수 있다.