service-discovery 프로세스 가동 이유
78
1 câu hỏi đã được viết
안녕하세요 강사님
양질의 강의 제공해주셔서 감사합니다
api-gateway yml 파일에 micro-service url에 매핑된 host 정보를 기입하셨는데요
이러면 service-discovery 프로세스를 가동시키신 이유가 뭘까요?
제가 이해하기론 service-discovery는 dns정도로 이해하고 있습니다
Câu trả lời 2
0
안녕하세요, 이도원입니다.
먼저 답변이 늦어 죄송합니다. AI 답변이 추가되고 있어 바로바로 체크하기 못했었습니다.
API Gateway가 Service Discovery와 함께 동작하는 이유는 각 마이크로서비스의 실제 위치(IP/Port 를 Gateway가 직접 관리하지 않고, 서비스 이름으로 동적으로 찾아서 호출하기 위해서입니다.
API Gateway는 Service Discovery를 통해 이 인스턴스 목록을 조회하고 적절한 서버로 요청을 전달합니다. 주요 장점은 다음과 같습니다.
로드밸런싱
동일 서비스의 여러 인스턴스에 요청을 분산할 수 있습니다.동적 위치 탐색
서비스의 IP나 Port가 변경되어도 Gateway 설정을 매번 수정할 필요가 없습니다.Scale-out 대응
서비스 인스턴스가 추가되거나 제거되어도 Service Discovery가 이를 자동으로 반영합니다.장애 인스턴스 제외
비정상 인스턴스를 서비스 목록에서 제외하여 정상 인스턴스로 요청을 전달할 수 있습니다.
Spring Cloud Gateway에서는 보통 다음과 같이 사용합니다.
uri: lb://USER-SERVICE
여기서 lb://는 Service Discovery에서 USER-SERVICE의 인스턴스를 찾고, 그중 하나를 선택하여 요청을 전달하라는 의미입니다.
추가 문의사항 있으시면 글 남겨 주시기 바랍니다.
감사합니다.
0
안녕하세요, 인프런 AI 인턴입니다. hotalibi님
Service Discovery는 마이크로서비스 아키텍처에서 중요한 역할을 수행합니다. 기본적으로 여러 마이크로서비스가 서로 통신하기 위해서는 상대방의 위치(주소)를 알아야 합니다. 이때, 각각의 마이크로서비스가 독립적으로 실행되며, 동적으로 인스턴스가 생성되거나 사라질 수 있기 때문에, 고정된 URL을 사용하기 어려운 경우가 많습니다.
Service Discovery의 역할: 일반적으로 서비스 디스커버리는 마이크로서비스의 위치를 추적하는 역할을 합니다. DNS처럼 각각의 서비스의 주소를 저장하고, 필요에 따라 해당 정보를 제공함으로써 다른 서비스들이 서로를 발견(discover)할 수 있게 됩니다.
api-gateway와 Service Discovery의 관계: API Gateway는 클라이언트의 요청을 적절한 마이크로서비스로 전달하는 역할을 합니다. 이 과정에서 서비스들이 어디에 위치해 있는지 알아야 하며, 이를 위해 Service Discovery를 활용합니다. Service Discovery에서 제공하는 정보를 기반으로 API Gateway는 올바른 IP와 포트를 찾아 요청을 전달합니다.
아래 링크에서 관련된 내용을 더 자세히 확인할 수 있습니다:
- @EnableDiscoveryClient 를 사용하는 이유
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다. 현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏 추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
장애 격리 관련해서 궁금한 부분이 있어요
0
50
2
Inner class로 Config를 지정하는 이유
0
58
2
rabbitmq에 configservice 연결에 대해 질문있습니다.
0
100
1
kafka 업데이트 강의 듣고 시포요
0
185
2
강의 교안
0
156
2
마이크로서비스간 통신 시, 인증 처리
0
168
2
api gateway 에서 인증 처리
0
110
1
섹션 19 질문드립니다
0
133
2
강의 자료 업데이트
0
146
2
부하분산 강의 섹션
0
99
1
강의자료는 어디에서?
0
137
2
강의 자료는 어디서 다운 받을 수 있나요?
0
180
2
전체 사용자 조회시 오류
0
93
1
혹시 pk 외 별도의 id 를 부여한 이유가 있을까요 ??
0
172
2
학습 방향
0
147
2
카프카 커넥터 사용 목적 문의
0
137
2
kafka 강의
0
164
2
서비스 디스커버리 종류
0
130
2
강의 자료에 대해서 궁금해요
0
177
2
GlobalFilter, LoggingFilter가 동작하지 않습니다.
0
139
2
Kafka Source Connect 버전 에러
0
140
2
소스커넥터는 사용안한 거 맞죠?
0
134
2
강의자료 업데이트 문의
0
126
2
강의에서 BCryptPasswordEncoder 에 역할(5-2)
0
93
1

