강의

멘토링

커뮤니티

인프런 커뮤니티 질문&답변

장원익님의 프로필 이미지
장원익

작성한 질문수

Spring Cloud로 개발하는 마이크로서비스 애플리케이션(MSA)

Users Microservice - 사용자 조회 ③

503 에러

작성

·

770

0

안녕하세요!

강의를 열심히 듣고 있는 학생입니다.

다름이 아니라 서버를 재가동할 때 마다 503 에러가 자주 발생하는데 이는 왜 이런걸까요?

혹은 아예 404로 안 뜨다가 일정 시간이 지나면 200 ok가 뜨기도 합니다.

답변 1

1

Dowon Lee님의 프로필 이미지
Dowon Lee
지식공유자

안녕하세요, 이도원입니다. 

users_ms가 재기동 되기 직전, Eureka 서버에 unregist를 요청하게 되고, 재기동 되면서 새로운 인스턴스 정보를 regist하게 됩니다. 그런데, apigateway는 아직 이전 정보를 가지고 있는 상태이고 새로운 users_ms의 정보를 가지고 있지 않습니다. Eureka 서버에서는 갱신 된 인스턴서의 정보를 다른 eureka_client에게 전달하기까지 일정한 시간이 필요하고, 503에러가 발생하는 건 서버(users_ms)가 아직 정상적으로 준비가 되지 않았음 나타낼 수 있습니다. 그 사이 클라이언트(Postman 등)으로부터 새로운 요청이 전달되면, Local Cache를 사용하여 이전 정보의 인스턴스에게 작업을 요청할 수도 있습니다. 따라서 404에러가 발생할 수도 있습니다. (실제 인스턴스는 unregist 되었지만, apigateway에서는 호출하기 때문에)

기본적으로 Eureka client는 30초 주기로 Heartbeasts를 보내며, Eureka 서버에서는 90초 동안 heartbearts를 받지 못하면 Server에서 해당 인스턴스를 제거하게 됩니다. 

감사합니다. 

장원익님의 프로필 이미지
장원익

작성한 질문수

질문하기