Architektur Fortgeschritten
API Gateway Design — wann und wie¶
API GatewayMicroservicesRouting 3 Min. Lesezeit
Wie man ein API Gateway für Microservice-Architekturen entwirft. Routing, Authentifizierung, Rate Limiting und Best Practices.
Was ist ein API Gateway?¶
Ein API Gateway ist der einzige Einstiegspunkt für alle Client-Anfragen. Es fungiert als Reverse Proxy mit Routing, Authentifizierung, Rate Limiting und Request-Transformation.
Architektur¶
Zwei Ansätze: Single API Gateway (eines für alles) oder Backend for Frontend (separates Gateway für 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;
}
Authentifizierung am Gateway¶
Das Gateway zentralisiert die Authentifizierung. Tokens werden am Gateway validiert, interne Identitäten werden an die Dienste weitergegeben.
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äre Lösungen¶
- Kong — Open-Source, Plugin-Ökosystem
- Traefik — Cloud-native, Auto-Discovery in K8s
- AWS API Gateway — Managed, Integration mit Lambda
- Envoy — L7-Proxy, Grundlage für Service Mesh
Zusammenfassung¶
Das API Gateway ist eine kritische Komponente. Überladen Sie es nicht mit Geschäftslogik — Routing, Auth, Rate Limiting, Logging. Alles andere gehört in die Dienste.
Brauchen Sie Hilfe bei der Implementierung?¶
Unser Team hat Erfahrung mit dem Entwurf und der Implementierung moderner Architekturen. Wir helfen Ihnen gerne.