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

삽질코딩님의 프로필 이미지
삽질코딩

작성한 질문수

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

Spring Cloud Netflix Eureka

Api Gateway와 Service Discovery의 차이가 무엇인가요?

해결된 질문

작성

·

1.2K

0

ServiceDiscovery layer 없이 Api gateway가 Instance A, B, C로 직접 호출할 수도 있을 것 같은 생각이 드는데요,

Api gateway와 각 인스턴스들 사이에 ServiceDiscovery가 있어야하는 이유가 무엇인가요?

답변 1

17

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

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

말씀하신 것처럼 API Gateway에서 해당 인스턴스의 IP를 직접 호출할 수도 있습니다. 그러나, 도메인을 사용하는 것이 아니라, IP를 사용하는 경우라던가, LB를 이용한 호출의 경우에는 추가 설정 또는 IP를 변경해야 하는 번거로움도 있습니다. 반면에 Service Discovery를 이용하게 되면, 인스턴스의 ID나 이름으로 호출할 수 있기 때문에, 함꼐 설정해서 사용하시는 것이 효율적이라고 생각됩니다. 우리가 이름과 전화번호를 매칭해 놓은 주소록을 가지고 있다고 했을 때,  어떤 사람의 전화번호가 변경될 경우, 이름은 유지하면서, 번호만 변경해 주면 되듯이, 이러한 작업을 Service Discovery가 처리해 주고 있다고 보면 좋을 것 같습니다. 

감사합니다. 

삽질코딩님의 프로필 이미지
삽질코딩

작성한 질문수

질문하기