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

twosom님의 프로필 이미지

작성한 질문수

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

FeignClient 사용 ②

RestTemplate 나 FeignClient는 API GATEWAY는 통과하지 않나요?

해결된 질문

21.04.09 15:18 작성

·

428

4

항상 강의 잘 보고 있습니다.

제목 그대로 RestTemplate로 하나 FeignClient로 하나 Gateway log를 살펴보면 user-service만 호출되있네요.

이전에 RestTemplate에서는  url설정시에는 localhost:8000/order-service/%s...이런 식으로 url을 조합했다면 그 이후엔 url을 @LoadBalanced 어노테이션 붙이고 localhost 대신에 마이크로 서비스 이름을 넣었는데 이 방식과

Feign클라이언트로 하는 방식 모두 api gateway 에서는 order service의 로그가 안뜨더라구요.

원래 이 방식으로하면 gateway를 먼저 거쳐가는 게 아닌 마이크로서비스 간에 직접적으로 통신을 하게되나요.

감사합니다.

답변 1

5

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

2021. 04. 09. 16:33

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

Eureka Client로 설정 된 애플리케이션은 코드 상에서 다른 서비스의 IP address 대신 Eureka Server(Service Registy)에 등록 된 Application 이름으로 호출 할 수 있습니다. 이때는 API Gateway를 거치지 않고, 호출하게 됩니다. 물론 API Gateway를 통해 호출해도 되지만, 내부적인 통신을 사용할 때 굳이 외부에서 다시 접속 요청을 할 필요는 없다고 생각됩니다. 

감사합니다. 

twosom님의 프로필 이미지
twosom
질문자

2021. 04. 09. 16:53

감사합니다~! 항상 강의 잘 보고있습니다. 좋은 강의 정말 감사드립니다.

twosom님의 프로필 이미지

작성한 질문수

질문하기