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

김남현님의 프로필 이미지
김남현

작성한 질문수

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

apigateway와 eureka server

작성

·

232

0

안녕하세요. 좋은 강의 감사합니다.

강의를 듣던중에 apigateway와 eureka server의 역할이 왜 분리되어 있는지 이해가 안됩니다.

제 생각에는 그냥 eureka server에서 apigateway 역할까지 같이하면 되지 않나 생각하거든요.

어차피 eureka server에서 모든 마이크로 서비스들의 위치정보를 들고 있으니 클라이언트는 eureka server에 접근해서 서비스를 받으면 되지 않나요?

답변 2

2

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

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

APIGateway와 Eureka Server의 역할은 분명하게 구분됩니다. 클라이언트 및 다른 서비스로부터의 요청 정보의 단일 진입점을 만들기 위해 APIGateway를 사용하며, Eureka Server와 같은 Service Registry + Service Discovery는 마이크로서비스의 정보를 등록, 검색할 수 있게 하여, 요청 정보를 전달해서 어떤 마이크로서비스로 이동해야 할 지 알려줍니다. 이는 서비스의 역할의 분리를 해 주는 기본적인 마이크로서비스 아키텍처의 특징하고도 연결되어 있다고 생각합니다. 

하나의 서비스나 애플리케이션에서 여러가지 기능을 가지게 되면, 수정과 배포 및 기능의 분리와 같은 작업이 어려워지고 여러 서비스가 기능간에 종속성이 생기게 될 수 있습니다. 

두가지 기능을 하나로 묶게되면, APIGateway와 Service Discovery를 같이 사용하고 싶지 않은 경우에도 종속성을 가지고 같이 사용해야 합니다. APIGateway는 MSA와 상관없이 다른 개발 환경에서도 사용될 수도 있습니다.

감사합니다. 

0

김남현님의 프로필 이미지
김남현
질문자

감사합니다.

김남현님의 프로필 이미지
김남현

작성한 질문수

질문하기