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

코린이님의 프로필 이미지
코린이

작성한 질문수

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

유레카 application 이름

작성

·

224

0

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

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

답변 1

0

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

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

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

감사합니다. 

코린이님의 프로필 이미지
코린이

작성한 질문수

질문하기