Č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 ServicePOST /api/orders→ Gateway presmeruje na Order ServiceGET /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á.