회사에서 백엔드를 서비스 여러 개로 나눠 운영하는데, 프론트에서 각 서비스 주소로 직접 호출하고 있었거든요. 사용자, 상품, 주문 서비스가 다 포트랑 도메인이 달라서 프론트 코드에 주소를 여러 개 박아놓은 상태예요.


그러다 리뷰에서 "앞에 API 게이트웨이 하나 두자"는 말이 나왔는데, 그게 정확히 뭘 하는 물건인지 모르겠어요. 그냥 요청 받아서 뒤로 넘겨주는 거면 그거 그냥 리버스 프록시(nginx 같은) 아닌가요? 뭐가 다른 건지 헷갈립니다.


지금 프론트가 대충 이런 식이에요.


fetch('https://user.api.foo.com/me');
fetch('https://order.api.foo.com/list');


이걸 게이트웨이 하나로 모으면 뭐가 좋아지는 건지, 특히 인증이나 로그인 토큰 검사 같은 걸 게이트웨이에서 한 번에 처리한다는 말을 들었는데 그러면 각 서비스는 인증을 아예 안 해도 되는 건가요? 그건 좀 위험할 것 같기도 하고요.


그리고 모든 요청이 게이트웨이 한 곳을 거치면 거기가 병목이나 단일 장애점이 되는 거 아닌가 걱정도 됩니다. 실무에선 이런 부분을 어떻게 풀어놓는지, 게이트웨이를 두는 게 언제부터 의미 있는 건지 궁금해요.