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

백엔드님의 프로필 이미지

작성한 질문수

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

API Gateway 란?

안녕하세요! 질문이 있습니다.!

21.05.16 18:47 작성

·

337

0

안녕하세요!
강의 잘 듣고 있습니다!

그 갑자기 궁금한 것이 생겼는데요!

지금 Spring Cloud로 MSA 기반 서비스를 만들때

서비스 디스커버리 유레카와

Spring Cloud gateway로

자바 스프링 기반 서버가 아닌

다른 legacy 서버와도 연동이 가능 한 것인가요!??

Spring cloud gateway 로 자바 스프링 기반 서버들과 함께

legacy 서버들도 함께 MSA형태로 사용이 가능한지 궁금합니다!

읽어보시고 답변 부탁드려요! 

감사합니다:) 

답변 2

2

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

2021. 05. 17. 08:22

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

Spring Cloud Gateway에서는 Service Discovery에 등록된 인스턴스에 클라이언트의 요청 정보를 전달하게 됩니다. 따라서 사용하시려고 하는 Java 애플리케이션이나 다른 언어로 작성된 애플리케이션 (Python, Golang ...)을 Eureka에 등록하시는게 필요합니다. 물론, Service Discovery를 거치지 않고 RESTful API를 통해 통신할 수도 있습니다만, Service Discovery에 등록하고 제어하는 것이 다수의 MSA 애플리케이션을 다루는 데에 유리하다고 생각됩니다. 

강의에서는 Spring Boot + Spring Cloud + Netflix OSS 사용 위주이기 때문에, Eureka Server를 사용하였습니다만, Service Registry, Service Discovery 역할을 하는 다양한 제품이 있습니다. 후속 강의에서 Event Sourcing, Saga 등의 MSA 패턴과 Istio, Consul 등의 제품을 사용하는 Service Mesh를 활용하는 방법에 대해서 준비 중에 있습니다. 후속 강의도 상반기 중으로 업데이트 할 예정입니다.

감사합니다. 

백엔드님의 프로필 이미지
백엔드
질문자

2021. 05. 17. 12:25

감사합니다!

그럼 Eureka나 기타 다른 Service Discovery 에 다른 언어를 이용한 서버들을

등록하면 Spring Cloud Gateway를 통해 여러 타 언어 서버들도 함께 

MSA 서비스 가능하다는것이지요?

0

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

2021. 05. 17. 14:56

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

네가 Spring Boot 애플리케이션에서도 Eureka 외에 다른 Service Registy/Discovery에 등록 가능하며, Python이나 React와 프로그래밍 언어로 작성된 애플리케이션에서도 Eureak에 등록가능합니다. 이기종 언어로 구현될 경우에는 Eureka 보다는 Istio나 Consul과 같은 서비슬 사용하시는 것이 좋을 것 같습니다. 

감사합니다.