General Service 서비스 컴포넌트 관련 질문있습니다!
안녕하세요~ 섹션 2 General Service 서비스 컴포넌트의 마지막 부분에 질문이 있습니다.
이번 강의 마지막 부분에서 설명해주신 내용과 그림에는 게이트웨이가 모놀리스 서비스에만 적용이 가능하고 마이크로서비스에는 로드밸런서를 사용해야 하는 걸로 나와있는데요~
보통 MSA에는 게이트웨이로 설명하고, 동일한 서비스들에 트래픽을 분산시키거나 장애 조치를 할 때 로드밸런서를 둔다고 하지 않나요?
혹시나 제가 잘못 알고 있는 부분을 짚어 주셨으면 해서 질문 드립니다!
그리고 이전 강의에서 LB와 게이트웨이를 다르게 설명해주신 부분도 굳이 분리할 수도 있지만... 보통 게이트웨이에는 로드 밸런싱 기능이 포함되는 것으로 보는 것 같던데 이 부분도 궁금합니다!
回答 2
2
좋은 관점의 질문입니다. 제가 강의에서 명확하게 설명드리지 못한 부분인 것 같습니다.
먼저 MSA(마이크로서비스 아키텍처)에서는 API 게이트웨이와 로드 밸런서가 모두 중요한 역할을 합니다. 강의에서 게이트웨이를 모놀리식 아키텍처에만 적용 가능하다고 설명한 부분이 있었다면, 이것은 의도하지 않은 오해일 수 있습니다. 사실, API 게이트웨이는 MSA에서도 매우 흔하게 사용됩니다.
게이트웨이는 MSA에서도 클라이언트의 진입점으로서, 다양한 마이크로서비스로 요청을 라우팅하고 보안, 인증, 트래픽 관리 등의 여러 기능을 제공합니다. 또한, 로드 밸런서는 동일한 서비스 인스턴스들 간에 트래픽을 분산시키는 역할을 하죠. 즉, MSA에서는 API 게이트웨이가 상위에 위치하고, 각 서비스 인스턴스에 대한 트래픽을 분배할 때 로드 밸런서가 사용될 수 있습니다.
그리고, 게이트웨이와 로드 밸런서는 그 기능과 목적이 다릅니다. API 게이트웨이는 트래픽을 여러 마이크로서비스로 라우팅하는 중간 브로커 역할을 하며, 로드 밸런서는 특정 마이크로서비스의 여러 인스턴스 사이에서 트래픽을 분배하는 역할을 합니다.
하지만, 요즘에는 게이트웨이에서 로드 밸런싱 기능이 통합되어 제공되는 경우도 많습니다. 예를 들어, Nginx나 AWS API Gateway 같은 서비스들은 게이트웨이 기능과 함께 기본적인 로드 밸런싱도 수행할 수 있습니다. 그래서 때로는 두 개념이 겹치기도 하지만, 여전히 그 목적과 역할은 다르다고 볼 수 있습니다.
제가 강의에서 이 부분이 조금 더 명확하게 전달될 필요가 있었을 것 같네요. 앞으로 수정하거나 보완하는 데 참고하겠습니다.
1
안녕하세요, 인프런 AI 인턴입니다. Chanuk님께서 질문해 주신 부분에 대해 답변 드리겠습니다.
Gateway와 Load Balancer의 차이
게이트웨이(Gateway):
- 보통 API Gateway는 클라이언트 요청을 받아 그 요청을 적절한 서비스로 전달하는 역할을 합니다. 이는 API 요청 인증, 요청 변환, 경로 제어 등 다양한 기능을 수행할 수 있습니다.
- 종종 모놀리스 시스템에서도 사용되며, 마이크로서비스 아키텍처(MSA)에서도 서비스의 엔트리 포인트로 활용됩니다.
- 마이크로서비스 환경에서는 각각의 서비스에 대한 접근을 제어하고 라우팅하는 데 주로 사용됩니다.
- 보통 API Gateway는 클라이언트 요청을 받아 그 요청을 적절한 서비스로 전달하는 역할을 합니다. 이는 API 요청 인증, 요청 변환, 경로 제어 등 다양한 기능을 수행할 수 있습니다.
로드 밸런서(Load Balancer):
- 대상 서버들 간의 트래픽을 분산시킵니다. 동일한 서비스의 여러 인스턴스들 사이에 트래픽을 효율적으로 분배하는 역할을 합니다.
- 로드밸런서는 MSA에서도 각각의 마이크로서비스 뒤에 위치하여 복수의 인스턴스 간에 트래픽을 분배하고, 장애 발생 시 서비스 가용성을 보장할 수 있습니다.
- 대상 서버들 간의 트래픽을 분산시킵니다. 동일한 서비스의 여러 인스턴스들 사이에 트래픽을 효율적으로 분배하는 역할을 합니다.
API Gateway에 포함된 Load Balancing
- 많은 최신 API Gateway 솔루션들은 로드 밸런싱 기능을 포함하고 있습니다. 즉, API Gateway가 클라이언트와 여러 서비스 인스턴스 간의 요청을 자연스럽게 분산시킬 수 있습니다.
- 하지만, 이러한 것도 솔루션마다 다르고 구현에 따라서도 달라질 수 있으므로 개별 솔루션의 기능을 확인해야 합니다.
기존 답변 참고
이와 관련하여 추가적으로 도움이 될만한 정보를 제공하는 질문 게시글을 추천드립니다:
- “API Gateway와 Load Balancer의 역할 차이” 마크다운 형식으로 게시물을 첨부하여 API Gateway와 Load Balancer의 역할과 기능에 대한 추가적인 설명을 제공합니다.
저는 질문자님의 이해를 돕고자 지식공유자님의 기존 답변을 참고하여 유사한 답변 링크를 추천해드리고 있습니다.
현재 베타 기능으로 답변이 만족스럽지 않을 수 있는 점 양해 부탁드립니다. 🙏
추가적으로 궁금한 점이 있으시면, 이어서 질문해 주세요. 곧 지식공유자께서 답변해 주실 것입니다.
특별 학습 자료 프로모션 1년 멤버십 제공 관련 문의 드립니다.
0
56
2
simcached를 검색을 했을때 해당 자료가 나오지 않는데 혹시 MemcachedGPU 라고 불리는 기술을 말씀하시는건가요?
0
56
1
유튜브 예제에서 흐름 관련 질문있습니다
0
47
2
Spotify 서비스 설계에서 transcoder service에 대해 문의 드립니다.
0
73
1
특별 학습 자료 프로모션 1년 멤버십 무료 제공 지원 확인 방법
0
83
2
[위치 이름 기반으로 호텔을 조회하는 메서드] 코드 질문 드립니다.
0
49
2
14강. 영화 DVD 대여 시스템 데이터베이스 스키마 설계에서 Inventory 테이블 질문있습니다.
0
83
2
Matching Service의 MQ 필요성, Cassandra의 필요성, Cassandara - RDB 동기화
0
88
2
Imgur 이미지 호스팅 서비스 질문
0
83
2
쿠폰 문의
0
83
1
Redis 랜덤 값 추가 시 메타데이터 저장
0
86
1
Blob Storage에서 파일 업로드에 대한 동시성을 어떻게 제어할 수 있을까요?
0
106
2
채팅을 영속할 DB로 RDB를 선택한 이유도 궁금합니다
0
269
2
URL 단축 서비스에서 redis counter를 사용하는 이유가 무엇인지 궁금합니다.
0
213
2
long url을 파티션키로 지정했을때 장점이 생각 안나네요 ㅎㅎ;;
0
135
2
실제 인터뷰에서도 Object Oriented Design 을 이런 과정으로 하는걸까요?
0
161
1
able to get all students who got a "d+" grade or lower 요구사항
0
115
1
number of copies 컬럼은 Inventory Table에 들어가야하지않을까요?
0
171
3
Spotify 서비스 시스템 디자인 및 스케일링에서 백업 클러스터 사용에 대한 문의
0
93
2
URL 단축 서비스 시스템 디자인 및 스케일링 질문있습니다.
0
187
2
예시 두개가 납득이 잘 가지않네요 ㅠㅠ
1
201
2
강의자료는 제공 불가능할까요?
0
218
1
영화 DVD 대여 시스템 데이터베이스 스키마 설계에 대한 질문입니다.
1
249
2
메세지 큐 예제 2번 질문있습니다!!
0
308
2

