해결된 질문
작성
·
453
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
안녕하세요, 이도원입니다.
Eureka Client로 설정 된 애플리케이션은 코드 상에서 다른 서비스의 IP address 대신 Eureka Server(Service Registy)에 등록 된 Application 이름으로 호출 할 수 있습니다. 이때는 API Gateway를 거치지 않고, 호출하게 됩니다. 물론 API Gateway를 통해 호출해도 되지만, 내부적인 통신을 사용할 때 굳이 외부에서 다시 접속 요청을 할 필요는 없다고 생각됩니다.
감사합니다.
감사합니다~! 항상 강의 잘 보고있습니다. 좋은 강의 정말 감사드립니다.