Programovanieexpert

Čo je API Gateway?

API Gateway je server, ktorý slúži ako jediný vstupný bod pre API požiadavky v architektúre mikroslužieb. Prijíma požiadavky od klientov, smeruje ich na príslušné služby a môže zabezpečovať autentifikáciu, rate limiting a transformáciu dát.

Definícia API Gateway

Čo je API Gateway

API Gateway je server, ktorý funguje ako frontová vrstva pre API — prijíma všetky API požiadavky, vynucuje bezpečnostné politiky, presmerováva požiadavky na príslušné backendové služby a vracia odpovede klientovi. Je kľúčovým komponentom v architektúre mikroslužieb, kde zjednodušuje komunikáciu medzi klientom a desiatkami služieb.

Funkcie API Gateway

  • Smerovanie (routing) — presmerováva požiadavky na správnu mikroslužbu podľa URL a metódy
  • Autentifikácia a autorizácia — overuje API kľúče, JWT tokeny a OAuth
  • Rate limiting — obmedzuje počet požiadaviek na ochranu pred preťažením
  • Transformácia — konvertuje formáty požiadaviek/odpovedí (napr. XML na JSON)
  • Caching — ukladá časté odpovede do cache pre rýchlejšie odozvy
  • Monitoring a logging — zaznamenáva metriky a logy pre analýzu

Populárne riešenia

Medzi populárne API Gateway riešenia patria Kong Gateway (open-source), KrakenD (napísaný v Go), AWS API Gateway, Azure API Management, Nginx a Traefik. API Gateway je prvou líniou obrany a zabezpečuje, že len platné požiadavky prechádzajú k backendovým službám.

Praktický príklad

Príklad: Mobilná aplikácia e-shopu komunikuje s API Gateway namiesto priameho volania jednotlivých mikroslužieb:

  • GET /api/products → Gateway presmeruje na Product Service
  • POST /api/orders → Gateway presmeruje na Order Service
  • GET /api/user/profile → Gateway presmeruje na User Service

Mobilná aplikácia pozná len jednu adresu (API Gateway). Gateway navyše automaticky pridáva autentifikáciu, loguje požiadavky a obmedzuje záťaž na 100 požiadaviek za minútu na používateľa.

Často kladené otázky

Čo je API Gateway?

API Gateway je server, ktorý slúži ako jediný vstupný bod pre všetky API požiadavky. Smeruje požiadavky na správne backendové služby a zabezpečuje autentifikáciu, rate limiting, caching a monitoring.

Prečo potrebujem API Gateway?

Bez API Gateway by klient musel poznať adresy všetkých mikroslužieb a každá služba by musela riešiť autentifikáciu, rate limiting a CORS samostatne. API Gateway centralizuje tieto funkcie na jedno miesto.

Aký je rozdiel medzi API Gateway a load balancerom?

Load balancer rozdeľuje záťaž medzi viacero inštancií rovnakej služby. API Gateway smeruje požiadavky na rôzne služby podľa URL a navyše poskytuje autentifikáciu, transformáciu a ďalšie funkcie.

Ktoré API Gateway riešenie je najlepšie?

Pre cloud natívne aplikácie je populárny AWS API Gateway alebo Azure API Management. Pre self-hosted riešenia sú obľúbené Kong (open-source) a KrakenD. Pre jednoduché prípady stačí Nginx alebo Traefik.

Súvisiace pojmy

Potrebujete pomôcť s webom?

Napíšte mi a poradím vám s vaším projektom. Prvá konzultácia je zadarmo a nezáväzná.