이 장에서 Gateway는 “앞단 진입점”으로 이해하면 충분하다

Gateway라는 말을 들으면 보안, 인증, 로깅, 로드밸런싱, 정책 제어 같은 많은 기능을 떠올릴 수 있다.

하지만 chap02에서는 그렇게 넓게 잡을 필요는 없다.

이 장에서 Gateway는 가장 단순하게 말하면, 하나의 진입점에서 여러 서비스로 요청을 나누어 보내는 앞단이다.

이 프로젝트에서는 nginx가 Gateway 역할을 맡는다

chap02의 Gateway는 별도 애플리케이션이 아니라 nginx 설정으로 구성되어 있다.

즉, 여기서는 “Gateway라는 개념”을 nginx가 구현하고 있는 셈이다.

nginx.conf를 보면 라우팅 규칙이 비교적 단순하다.

즉, Gateway는 비즈니스 로직을 처리하지 않는다.

대신 “이 요청은 어느 서비스로 가야 하는가”를 앞단에서 결정한다.

왜 이것이 중요한가

Gateway가 생기면 외부에서 보는 구조는 단순해진다.

서비스는 여전히 여러 개지만, 외부 클라이언트는 더 이상 서비스별 포트를 직접 의식하지 않아도 되는 방향으로 갈 수 있다.

이 말은 곧 아래 뜻이기도 하다.