inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

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

유레카 서버에 등록된 서비스를 호출하는 게이트웨이

262

코린이

작성한 질문수 11

1

선생님 안녕하세요.
 
client가 특정 엔드포인트로 request할 경우, 게이트웨이가 Eureka Server에서 해당 서비스의 존재 유무를 파악하고 라우팅시켜준다고 생각했습니다. 그런데 Eureka Server에 등록되어 있는 서비스의 정보를 게이트웨이 application.yml파일에 입력하지 않았더니 해당 서비스를 게이트웨이가 호출할 수 없었습니다. Q1) 게이트웨이가 특정 서비스를 호출하려면, 해당 서비스가 Eureka Client로 등록되어 있고, 게이트웨이 설정파일에도 해당 서비스의 정보를 입력해야만 게이트웨이가 서비스를 호출할 수 있는건가요? 유레카의 필요성을 잘 모르겠습니다... Q2) 유레카는 꼭 있어야 하는건가요?

게이트웨이 architecture 유레카 spring-cloud spring-boot JPA msa Kafka

답변 1

0

Dowon Lee

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

작성하신 apigateway-service의 application.yml 파일의 내용을 정확하게 몰라 답변드리는 데에 한계가 있지만, 말씀하신 내용으로 짐작해 보면, applicatin.yml 파일에는 Eureka에 등록된 서비스의 이름으로 라우팅 하고 있을 것 같습니다. 만약 그렇다면, 해당 서비스명을인식하기 위해 Eureka로부터 해당 정보를 가지고 온 상태에서 라우팅을 할 수 있습니다. Eureka client에 해당하는 apigateway-service는 주기적으로 Eureka server로부터 등록된 서비스들의 정보를 가지고 받아오고 있으며, 해당 정보를 토대로 다른 서비스로 호출이 가능합니다. 새롭게 등록되거나, 해제 된 서비스들의 내용은 주기적으로 받아오는 정보를 통해 갱신하게 됩니다. 물론 Eureka를 사용하지 않고도 직접 URL을 입력하여 라우팅 할 수 있으며, 이때에는 말씀하신 2번째 질문처럼 Eureka의 사용 용도가 없어지게 됩니다. 그러나, 이렇게 서비스 할 경우, LB 사용이 안되어, 같은 서비스를 여러개 띄워 사용할 경우에는 분산처리가 되지 않습니다. 

Eureka는 많은 서비스들의 정보를 가지고 있으면서, 서비스들간에 통신을 하기위해 처리되며, 해당 서비스들이 모든 각각의 서비스 IP를 알고 있다고 가정하면, 사용하지 않고 처리할 수도 있겠지만, 이후에 사용하게 되는 컨테이너 가상화같은 부분에서는 모든 IP를 직접 제어해서 사용하는 것이 어렵기 때문에, 가급적이면 사용하는게 좋다고 생각됩니다. 

감사합니다. 

kafka 업데이트 강의 듣고 시포요

0

114

2

강의 교안

0

104

2

마이크로서비스간 통신 시, 인증 처리

0

113

2

api gateway 에서 인증 처리

0

76

1

섹션 19 질문드립니다

0

84

2

강의 자료 업데이트

0

105

2

부하분산 강의 섹션

0

65

1

강의자료는 어디에서?

0

98

2

강의 자료는 어디서 다운 받을 수 있나요?

0

131

2

전체 사용자 조회시 오류

0

65

1

혹시 pk 외 별도의 id 를 부여한 이유가 있을까요 ??

0

120

2

학습 방향

0

105

2

카프카 커넥터 사용 목적 문의

0

90

2

kafka 강의

0

117

2

서비스 디스커버리 종류

0

90

2

강의 자료에 대해서 궁금해요

0

125

2

GlobalFilter, LoggingFilter가 동작하지 않습니다.

0

94

2

Kafka Source Connect 버전 에러

0

95

2

소스커넥터는 사용안한 거 맞죠?

0

84

2

강의자료 업데이트 문의

0

99

2

강의에서 BCryptPasswordEncoder 에 역할(5-2)

0

63

1

강의 업데이트 계획이 궁금합니다.

0

120

2

MSA 애플리케이션에 Spring Web과 Spring Data JPA를 사용하는 것이 바람직한지 궁금합니다. (MSA 설계와 관련된 질문입니다)

0

168

2

어떤 것이 업데이트 된 건가요?

0

169

2