강의

멘토링

커뮤니티

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

BONJIN님의 프로필 이미지
BONJIN

작성한 질문수

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

Spring Cloud Gateway + Eureka 연동

유레카서버 딜레이 관련 질문

작성

·

259

0

안녕하세요. 선생님 좋은 강의 보고 있는 중 궁금한게 생겨 질문 드립니다.
first-service를 랜덤포트 두 개로 할당 받았습니다. (ex. 60294, 60295)
 
할당받은 두 서비스는 라운드로빈 방식으로 로드밸런싱 된 것도 확인 했습니다.
이후 60294 포트를 종료 후엔 당연히 60295 포트로만 요청이 들어갈줄 알았는데 잠시동안 60294포트로 요청이 들어가더라구요.
이미 60294 포트는 종료 되었기 때문에 당연히 오류가 발생을 했습니다.
 
여기서 제가 이해 하기로는 60294포트 서비스는 종료가 되었지만 유레카 서버가 약 30초 단위로 리프레쉬 되기 때문이라고 생각 하는데.. 잘 이해한게 맞을까요??
혹시 다른 이유가 있다면 답변 부탁드립니다 ~!

그리고 스프링 클라우드를 사용하고 무중단 배포 환경을 구성 한다고 했을 때 유레카 서버 딜레이 시간이 있으면 안될 것 같은데 유레카 서버 딜레이 타임이 없도록 설정 한다면 발생되는 문제가 있을까요??
 
감사합니다!
 
 
 
 
 

답변 1

0

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

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

말씀하신 내용처럼, 특정 서비스가 종료된 이후에도 Discovery Server와 Client는 해당 서비스의 존재를 일정 시간동안 기억하게 됩니다. 서비스가 종료되면서 unregister 작업을 진행하지 않았다면, 기본 30초 정도의 시간 뒤에 서비스가 중단된 것을 인지하고, 다른 Client(서비스)들에게 해당 서비스가 삭제되었음을 전달하게 됩니다. 

Eureka에서 해당 시간을 짧게 줄이는 것도 가능하며, 그걸경우 Eureka(Discovery Server)는 더 짧은 간격으로 서비스들의 존재유무(Live)를 체크하기 때문에, 조금 더 많은 트래픽이 발생하기는 하겠지만, 서비스 운영에 영향을 줄 정도를 아니라고 생각됩니다. (서비스의 구성과 개수에 따라 달라질 수 있습니다)

감사합니다. 

BONJIN님의 프로필 이미지
BONJIN

작성한 질문수

질문하기