티스토리 뷰

728x90
반응형

작은 프로젝트를 개발하면서는 만날 일이 없지만,

 

의외로 회사에서 일하다 보면 3분이 넘는 요청을 처리해야 하는 경우가 종종 있다.

 

스프링 부트의 경우, application.yml에 명시적인 타임아웃 설정이 없다면

 

연결 타임아웃은 기본 30초, 읽기 타임아웃은 기본적으로 무제한으로 설정된다.

 

하지만 AWS를 이용해 배포를 하는 경우, 특별히 설정을 해주지 않으면 60초 만에 타임아웃 에러가 뜨는데,

 

이런 경우 .yml 파일에 명시적으로 타임아웃을 길게 적어도 해결되지 않는 것을 확인할 수 있다.

 

해결 방법은 AWS의 어느 서비스를 사용하느냐에 따라 다르겠지만, 나의 경우 EC2, ELB, Route53을 사용하고 있다.

 

이런 경우 해결책은 생각보다 허무한데, 우선 AWS 콘솔에 로그인한 뒤, EC2에서 로드밸런서 메뉴로 들어간다.

 

이어서 위와 같이 선택해서 편집 창으로 진입.

 

스크롤을 조금 내리다 보면 트래픽 구성이 나오고, 

 

그 안에 위와 같이 타임아웃 시간을 설정할 수 있는 곳이 보인다.

 

여기서 시간을 충분히 길게 설정하면, 5분이 넘는 요청도 연결 유실 없이 처리할 수 있다.

반응형
댓글
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/05   »
1 2 3 4
5 6 7 8 9 10 11
12 13 14 15 16 17 18
19 20 21 22 23 24 25
26 27 28 29 30 31
글 보관함