Architektura
Pokročilý
API Gateway Design — kdy a jak
Jak navrhnout API Gateway pro mikroservisní architekturu. Routing, autentizace, rate limiting a best practices.
Co je API Gateway?
API Gateway je jediný vstupní bod pro všechny klientské požadavky. Funguje jako reverse proxy s routing, autentizací, rate limiting a request transformací.
Architektura
Dva přístupy: Single API Gateway (jeden pro vše) nebo Backend for Frontend (separátní gateway pro web, mobile, IoT).
upstream order_service {
server order-service:8080;
}
server {
listen 80;
location /api/orders {
proxy_pass http://order_service;
proxy_set_header X-Request-ID $request_id;
}
limit_req_zone $binary_remote_addr zone=api:10m rate=100r/s;
limit_req zone=api burst=50 nodelay;
}
Autentizace na Gateway
Gateway centralizuje autentizaci. Tokeny se validují na gateway, do služeb se předávají interní identity.
const jwt = require('jsonwebtoken');
function authMiddleware(req, res, next) {
const token = req.headers.authorization?.split(' ')[1];
if (!token) return res.status(401).json({ error: 'No token' });
try {
const decoded = jwt.verify(token, process.env.JWT_SECRET);
req.headers['X-User-ID'] = decoded.userId;
next();
} catch (err) {
return res.status(401).json({ error: 'Invalid token' });
}
}
Populární řešení
- Kong — open-source, plugin ecosystem
- Traefik — cloud-native, auto-discovery v K8s
- AWS API Gateway — managed, integrace s Lambda
- Envoy — L7 proxy, základ pro service mesh
Shrnutí
API Gateway je kritická komponenta. Nepřetěžujte ho byznys logikou — routing, auth, rate limiting, logging. Vše ostatní patří do služeb.
Potřebujete pomoct s implementací?
Náš tým má zkušenosti s návrhem a implementací moderních architektur. Rádi vám pomůžeme.
Nezávazná konzultace