API Gateway je vstupní bod pro klientské requesty v mikroslužbové architektuře. Místo toho, aby klient komunikoval přímo s desítkami služeb, komunikuje s jedním gateway, který routing, autentizaci, rate limiting a transformaci řeší centrálně. Tím se zjednodušuje klientský kód a vzniká jednotné místo pro cross-cutting concerns jako logging, monitoring a bezpečnost.
Co dělá¶
- Request routing — směruje požadavky na správné backend služby
- Authentication (JWT/OAuth) — validace tokenů před průchodem do backendu
- Rate limiting — ochrana služeb před přetížením
- Request/Response transformation — úprava payloadů, header enrichment
- Aggregation — sloučení odpovědí z více služeb
- Caching — snížení zátěže na backend
- Logging + monitoring — centralizovaná telemetrie
Implementace¶
- Kong — open-source, bohatý plugin ekosystém, deklarativní konfigurace
- AWS API Gateway — managed služba, integrace s Lambda a AWS ekosystémem
- Traefik — cloud-native, auto-discovery z Docker/K8s labels
- Nginx — DIY řešení s OpenResty pro Lua scripting, maximální výkon
Volba závisí na infrastruktuře. Pro Kubernetes je Traefik nebo Kong Ingress Controller přirozenou volbou. Pro AWS serverless je API Gateway + Lambda nejefektivnější cesta.
Vzory¶
BFF — Backend for Frontend¶
Každý klient (web, mobile, IoT) má vlastní gateway optimalizovaný pro jeho potřeby. Mobilní BFF agreguje data do jednoho callu, webový BFF posílá detailnější odpovědi. Tím se eliminuje over-fetching a under-fetching na klientské straně.
Gateway Aggregation¶
Sloučí volání do více služeb do jedné odpovědi. Klient pošle jeden request, gateway paralelně zavolá user-service, order-service a product-service a vrátí složenou odpověď. Snižuje počet roundtripů a latenci na klientovi.
Gateway = vstupní brána¶
Essential pro mikroslužby. Centralizuje cross-cutting concerns a zjednodušuje klientskou integraci. Bez gateway každý klient řeší autentizaci, retry logiku a service discovery samostatně.