해결된 질문
작성
·
38
·
수정됨
0
공유해주신 API Gateway 아키텍처를 보면
Order 서비스가 Product 서비스에게 해당 상품 수량 어느정도인지 요청시
Order 서비스는 유레카에게 Product 서비스 위치를 질의 한다.
유레카에 등록된 Product 서비스 위치 정보를 Order 서비스에게 응답한다.
Order 서비스는 Product 서비스에게 실질적으로 상품 수량 GET 요청 한다.
제가 알고 있는 일반적으로 (MAS X) 모놀리식 구조에서 Feign Client 를 사용시
유레카를 사용 하지 않는 상황에서 특정 서버에게 요청시 곧바로 해당 서버에게 요청을 했었는데요. (3 Way Handshake 생략)
그런데
@FeignClient(name = "product-service", url="http://product-service")
public interface ProductFeign {
}
이렇게 FeignClient 어노테이션에서 name 을 특정 서버 어플리케이션 이름으로 지정하게 된다면
알아서 유레카에게 질의하고 응답 받아서 Product 서비스에게 요청해서 총 HTTP 요청이 2번 일어 난다고 보면 되는건가요?
일단 비지니스 로직단에서는 HTTP 요청이 2번 일어난다(유레카 서버에게 호출 하고 그 다음 실질적은 요청하고자 하는 서버에게 다시 요청) 라고 로직상에서는 안보여서요.
이부분은 내부 로직(Feign client 라이브러리 내부 로직?? 이라고 해야 할까요?..)에서 처리된거라서 눈에 안보이는 부분인지 알고 싶습니다.
답변 1
0
안녕하세요~! 말씀해주신 내용이 맞습니다.
feign을 사용하여 http요청시에 service명을 명시하기 때문에, 자동으로 eureka에 질의가 나가게되고, 유레카를 통해 product로 요청이 나가게 됩니다.