요약
- API 게이트웨이는 클라이언트와 마이크로 서비스들 사이의 단일 진입점 역할을 한다.
본문
- 하나의 화면을 구성하기 위해 10개의 마이크로 서비스가 필요하다고 가정해보자 만약이 10개의 서비스를 모두 클라이언트에서 호출한다고 하면 어떤 문제가 생길까?
- 결합도: 클라이언트가 개별 서비스 주소를 모두 알아야함
- 네트워트 비효율
- TCP/TLS 커넥션 수
- 대역폭
- 횡단 관심사 분산: 인증, 인가, rate limiting, 로깅, cors를 클라이언트에 모두 구현해야 되서 변경이 생길떄마다 수정해야됨
- 단점
- SPOF
- 추가 컴포넌트로 인한 복잡도 증가
- 네트워크 홉으로 인한 레이턴시 증가