728x90
프론트엔드에서 서버 API를 호출할 때, 응답 시간이 1초를 넘으면 가끔 504 Gateway Timeout
에러가 뜨는 문제가 있었다.
문제가 왜 생겼을까?
프로젝트에서는 설정 파일이 두 개였다. 하나는 bootstrap.yml
, 다른 하나는 application.yml
인데, 두 파일에 타임아웃 관련 설정이 서로 달라서 충돌이 났다.
결국, API Gateway 쪽 설정이 제대로 적용되지 않고 기본값(매우 짧은 시간)으로 동작하면서 응답을 기다리지 않고 바로 에러가 난 거다.
어떻게 고쳤을까?
Zuul API Gateway에서 사용하는 Ribbon 설정에 연결 시간 제한과 응답 대기 시간을 명확히 늘려줬다.
ribbon:
ConnectTimeout: 5000 # 연결 시도 제한 시간 5초 (5000ms)
ReadTimeout: 10000 # 서버 응답 대기 시간 10초 (10000ms)
이 설정을 적용한 뒤로는, 응답이 1초를 넘겨도 504 에러 없이 정상 처리됐다.
마무리
Zuul과 Ribbon을 함께 쓸 때는 타임아웃 설정이 여러 설정 파일에서 어떻게 동작하는지 꼭 확인해야 한다. 서로 충돌하면 우리가 원하는 설정이 무시되어 예상치 못한 오류가 생길 수 있다.
728x90
반응형
'인프라' 카테고리의 다른 글
Cargo 웹사이트에 AWS Route53 도메인 연결하기 (0) | 2025.01.04 |
---|---|
젠킨스를 활용한 리액트 CI/CD 자동 배포 구축기 (0) | 2021.07.18 |
Nginx를 활용해 리액트 프로젝트 배포하기 (멀티 포트 설정) (0) | 2021.01.17 |
Jenkins를 이용한 서버 배포 (0) | 2021.01.17 |
PSCP 이용하여 AWS/EC2 파일 전송 및 폴더 전송하기 (0) | 2020.10.12 |