← 질문 목록
#61깊이 0
게이트웨이를 두면 무엇을 얻고 무엇을 걱정해야 하는가?
모든 서비스가 각자 하던 일을 한곳으로 모으는 것을 얻고, 그 한곳이 죽으면 전부 죽는 것을 걱정해야 한다.
| 게이트웨이 기능 | 효과 |
|---|---|
| 인증·인가 | 서비스마다 구현하지 않아도 된다 |
| 요청 제한 | 한곳에서 세야 정확하다 |
| 라우팅·집계 | 클라이언트가 서비스 수를 몰라도 된다 |
특히 값진 것은 클라이언트가 내부 구조를 모르게 되는 것이다. 서비스를 쪼개거나 합쳐도 바깥 주소는 그대로 둘 수 있다.
대가는 단일 장애점과 배포 병목이다. 모든 팀의 라우팅 규칙이 한 저장소에 모이면 그것을 고치는 순서가 곧 줄서기가 된다.
로드 밸런서는 트래픽을 나누는 것이 일이고 게이트웨이는 인증과 정책까지 맡는다. L7 로드 밸런서도 경로와 헤더를 보므로 겹치는 자리가 있다.
추천 꼬리질문
관련 질문
- 서킷 브레이커는 무엇을 막아주는가?아키텍처 · 분산시스템게이트웨이에서 서킷 브레이커를 구현하여 하위 서비스의 장애가 전체 시스템으로 전파되는 것을 방지하는 패턴을 흔히 사용한다.
- 여러 서비스를 거친 요청은 어떻게 따라가는가?아키텍처 · 분산시스템분산 시스템에서 여러 서비스를 거치는 요청의 진입점으로서 게이트웨이가 요청 추적의 시작점이 되는 경우가 많다.
- 웹 서버와 WAS의 역할 분담은 왜 하는가?프론트엔드게이트웨이와 웹 서버/WAS의 역할 분담은 모두 시스템의 진입점(Entry Point)에서 요청을 분배하고 제어하는 구조적 설계에 관한 내용이다.
- 메시지 큐를 두면 무엇을 얻고 무엇을 잃는가?아키텍처 · 분산시스템
- 이벤트 소싱을 도입할 때의 트레이드오프는 무엇인가?아키텍처 · 분산시스템