• 카테고리

    질문 & 답변
  • 세부 분야

    백엔드

  • 해결 여부

    미해결

유레카 application 이름

21.11.08 10:20 작성 조회수 178

0

유레카에 동일한 spring.application.name에 서로 다른 포트를 사용하여 여러 인스턴스를 등록할 수 있던데, 이렇게 하는 이유가 하나의 인스턴스가 죽으면 다른 인스턴스가 작동해야 하기 때문인가요??

굳이 동일한 application.name을 사용하는 이유가 있을까요?

답변 1

답변을 작성해보세요.

0

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

같은 이름의 application을 등록하는 것은 같은 서비스를 여러 PORT(또는 서버)로 분산해서 실행할 경우입니다. 해당 application을 사용하는 서비스(또는 사용자) 들은 어떠한 서버가 어디에 위치했는지, 몇번 PORT인지 상관없이 서비스 자체를 호출하게 됩니다. 등록된 같은 이름의 서비스들은 부하분산(로드 밸런싱) 작업으로 처리되고요. 말씀하신 것처럼 하나의 인스턴스가 죽어야지만, 대신한다기 보다는 여러개의 인스턴스가 기동되어 있고, 인스턴스을 순차적으로 (라운드로빈) 호출하여 사용자에 응답하게 해 줍니다. Eureka에서는 비율이나 URI를 통해 로드밸런싱하는 작업을 지원하지 하지 않고, 라운드로빈에 의한 방법으로 라우팅하는 것으로 알고 있습니다. 

감사합니다.