인프라
Zuul API Gateway에서 504 Gateway Timeout 에러 문제 쉽게 해결하기
user-anonymous
2023. 1. 29. 13:30
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
반응형