API 게이트웨이

API Gateway

한 진입점에서 인증·요청 제한·서비스 라우팅을 적용합니다.

···
html
<div class="viz"><h3>REQUEST PIPELINE</h3><div class="row" id="pipe"><div class="box">client</div><div class="box" id="auth">auth</div><div class="box" id="limit">limit</div><div class="box" id="route">orders</div></div><div class="muted" id="result">request routed</div></div>
css
.viz{width:94%;height:88%;max-width:960px;padding:clamp(10px,2vmin,18px);border:1px solid var(--line);border-radius:14px;background:var(--surface);font:600 clamp(12px,1.35vw,16px)/1.35 var(--font-sans,system-ui,sans-serif);display:flex;flex-direction:column;gap:clamp(7px,1.8vmin,13px);overflow:hidden}.viz h3{margin:0;color:var(--accent);font:700 clamp(12px,1.35vw,16px)/1.2 var(--font-sans,system-ui,sans-serif);letter-spacing:.04em}.viz .row{display:flex;align-items:center;justify-content:center;gap:clamp(5px,1.4vmin,12px);flex:1;min-height:0}.viz .box{padding:clamp(5px,1.5vmin,12px);border:1px solid var(--line);border-radius:9px;background:var(--bg);text-align:center}.viz .muted{color:var(--muted)}.viz .accent{color:var(--accent)}.viz .code{font-family:ui-monospace,monospace}.viz .pill{padding:3px 7px;border:1px solid var(--line);border-radius:99px;white-space:nowrap}.viz .active{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 12%,var(--surface))}.viz .arrow{color:var(--accent);font:700 18px ui-monospace,monospace}#pipe{gap:4px}#pipe .box{min-width:20%;padding:7px 2px;transition:background .3s,border-color .3s}#pipe .on{border-color:var(--accent);background:color-mix(in srgb,var(--accent) 18%,var(--surface))}
js
let n=0;const ids=['auth','limit','route'];function draw(){ids.forEach((id,i)=>document.getElementById(id).classList.toggle('on',i===n%4));document.getElementById('result').textContent=n%4===3?'missing key → stopped at auth':n%4===2?'request routed to orders':'checking '+ids[n%4];n++}draw();setInterval(draw,800)

API 게이트웨이는 여러 백엔드 앞에서 공통 처리와 요청 전달을 맡습니다. 클라이언트는 진입 주소를 하나 사용하고, 게이트웨이는 인증 확인이나 제한 정책을 적용한 뒤 경로에 맞는 서비스로 보냅니다. 서비스마다 공통 로직을 복제하는 일을 줄일 수 있습니다.

데모에서는 요청이 인증·제한 단계를 지나 주문 서비스로 향하고, 키가 없으면 첫 단계에서 멈춥니다. 게이트웨이 자체가 병목이나 단일 장애 지점이 되지 않도록 운영과 관측을 설계해야 합니다.

언제 쓰나

여러 서비스가 공통 인증·제한 정책과 하나의 외부 진입점을 공유할 때 씁니다.

페이지로 열기 ↗