강의

멘토링

로드맵

Inflearn brand logo image

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

임도현님의 프로필 이미지
임도현

작성한 질문수

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

RestTemplate 사용 ②

@LoadBalanced 관련 질문입니다.

해결된 질문

작성

·

486

1

@LoadBalanced 를 사용할시에 apigateway를 거치지 않고 user -> order 로 가는것을 확인했는데

 

제가 궁금한것은 보통 client 단에서 첫 요청이 들어왔을 시에만 api gateway를 거치고 그 이후 비지니스 로직을 처리하기 위해서 ms간에 소통하는것은 api gateway를 거치지 않는것이 일반적인 건가요?

답변 1

3

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

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

MSA 도입을 하면서, 강의서는 많이 언급해 드리지 않았지만, 다음과 같은 항목들도 고려해 보셔야 합니다. 단점이라고 딱잘라 말하기는 어려워도 어느정도 Trade-off에 관련된 부분이기 때문에, 도입 시 충분히 검토해야 한다고 생각합니다.

  • Network latency

  • Reduced availability

  • Data consistency

  • Object design complexity

     

apigateway-service는 보통 외부하고의 통신 채널을 담당하게 됩니다. 따라서, MS간 호출 시 강의에서 사용한 apigateway-service를 사용하지 않고, 직접 호출하는 방식이 일반적인 방식이라고 말하는 것보다는, 내부에서 호출로 처리할 수 있는 부분을 굳이 외부의 gateway를 거쳐 다시 호출되는게 득이 되는지, 호출하는 인터페이스의 단일화을 위해 무조건 apigateway를 사용하는 정책을 세울 것인지, 아니면 네트워크 트랙픽의 감소를 위해 내부 통신으로 처리할 지는 서비스나 도메인의 성격에 따라 결정되어야 한다고 생각됩니다.

추가 궁금하신 사항이나 다른 이견 있으시면 글 남겨 주세요. 감사합니다.

임도현님의 프로필 이미지
임도현

작성한 질문수

질문하기