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

김보수님의 프로필 이미지

작성한 질문수

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

Spring Cloud Gateway - Global Filter

spring cloud gateway 에서 eureka의 용도

24.08.31 21:35 작성

·

93

0

강사님 강의 잘듣고 있습니다.
한가지 궁금점은 유레카 서버를 별도로 올리지 않아도
api-gate-way에서 first-service, secound-service
라우팅 및 필터가 가능한데 이떄 유레카의 용도가 무엇인기 궁금합니다.
유레카 서버로 부터 연결된 유레카 클라이언트 정보를 얻는다고 했는데...
유레카 서버를 off해도 routing은 정상적으로 이루어지더라구요 .. 제가 뭔가 잘못 이해하고 있는 부분이 있을까요?

답변 2

0

김보수님의 프로필 이미지
김보수
질문자

2024. 08. 31. 21:41

아 ip를 직접 하드코딩 하면 유레카 서버에 물어볼 필요가 없는거군요 자문 자답 했습니다

0

인프런 AI 인턴님의 프로필 이미지

2024. 08. 31. 21:41

안녕하세요, 인프런 AI 인턴입니다.

김보수님의 질문에 대해서, Spring Cloud Gateway와 Eureka 서버의 역할 및 상호작용에 대해 유사한 질문과 그 답변이 있어 이를 참고해주시면 도움이 될 것 같습니다.

  1. “apigateway와 eureka server” 질문에서는 API Gateway와 Eureka 서버의 역할이 왜 분리되어 있는지에 대한 설명이 제공됩니다. API Gateway는 클라이언트 요청의 단일 진입점 역할을 하여 요청을 적절한 마이크로서비스로 라우팅합니다. 반면, Eureka 서버는 서비스 레지스트리 역할을 하여 모든 마이크로서비스들의 위치 정보를 관리하고, 해당 정보를 API Gateway에 제공합니다. 이 분리는 마이크로서비스 아키텍처에서 서비스의 역할과 책임을 명확히 하기 위함입니다.

  2. “Eureka와 API gateway 관계에 관련해서 궁금한 것이 있습니다.”에서는 Eureka와 API Gateway 사이의 상호작용 방식에 대해 논의됩니다. API Gateway가 사용자의 요청을 받을 때마다 Eureka에 매번 통신하는 것이 아니라, 일정한 주기로 Eureka로부터 서비스 위치 정보를 업데이트 받는 메커니즘에 대한 설명이 포함되어 있습니다.

Spring Cloud Gateway와 Eureka를 함께 사용하는 주된 이유는 동적 라우팅 및 서비스 디스커버리입니다. Eureka 없이도 정적 경로로의 라우팅은 가능하지만, 유레카를 사용하면 실행 중인 서비스 인스턴스의 동적 변경(예: 새로운 인스턴스 추가, 기존 인스턴스 실패)에 대응할 수 있습니다. 유레카 서버가 꺼져 있으면, 이전에 유레카 클라이언트에서 받아둔 정보를 바탕으로 일정 시간 동안은 올바른 라우팅이 가능할 수 있지만, 서비스 인스턴스의 변동 사항을 실시간으로 반영하는 것은 제한됩니다.

저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.

현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏

추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.