• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

안녕하세요. 질문있습니다!

21.05.03 22:22 작성 조회수 168

1

안녕하세요! 좋은 강의 감사드립니다 :D

강의 약 1분 36초경에 설명해 주신 내용에 대해 궁금한 사항이 생겨 질문드립니다.

모든 api request들은 api gateway를 거치고 api gateway는 eureka server에게 뒷단의 instance가 어디있는지 요청하여 위치를 알아낸 후, 그 위치 정보로 api gateway가 다시 해당 instance에게 요청을 보낸다고 하셨는데요.

제가 알고있는 eureka 동작방식은, eureka server에 등록된 eureka client 들은 eureka server와 일정 시간 간격마다 통신을 하면서 특정 시점에 eureka server에 등록된 eureka client들의 모든 instance 정보를 얻고, 각 eureka client들은 eureka server로 부터 얻은 instance 정보들을 각각의 메모리 공간상에 저장해 놓고, 그 저장된 정보를 또 다른 instance로 라우팅 하는데 사용하는 방식으로 동작하는 것으로 알고있습니다.

혹시 제가 잘못 알고있는 것인지 궁금합니다.

답변 1

답변을 작성해보세요.

3

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

말씀하신 것처럼, Eureka Client는 Eureka Server에게 30초 마다 자신이 살아있음(live)을 알려주기 위한 신호를 보내며, 서버에서는 90초 동안 신호가 들어오지 않은 인스턴스를 목록에서 삭제합니다. Eureka Client는 서버로부터 레지스트리 정보를 가져와서 로컬 캐쉬에 저장하여, 다른 서비스를 호출하는 용도로 사용되며, 이 정보도 30초 마다 갱신됩니다. 서버의 정보와 다를 경우에는 전체 정보를 다시 가져와서 갱신하게 됩니다. 

감사합니다. 

ygh님의 프로필

ygh

질문자

2021.05.05

답변 감사합니다.

그렇다면, 각 Eureka Client에서 로컬 캐쉬내에 저장된 Eureka server로부터 얻어온 레지스트리 정보를 직접 확인할 수 있는 방법도 있을까요??