Architektur Fortgeschritten
Idempotenz — sicheres Wiederholen von Operationen¶
IdempotencyAPIReliability 3 Min. Lesezeit
Implementierung idempotenter APIs. Idempotency Keys und Datenbanktechniken.
Was ist Idempotenz?¶
Mehrfache Ausführung = gleiches Ergebnis. GET, PUT, DELETE sind von Natur aus idempotent. POST nicht.
Idempotency Key¶
app.post('/api/payments', async (req, res) => {
const key = req.headers['idempotency-key'];
if (!key) return res.status(400).json({ error: 'Missing key' });
const existing = await redis.get(\`idem:\${key}\`);
if (existing) return res.json(JSON.parse(existing));
const result = await processPayment(req.body);
await redis.setex(\`idem:\${key}\`, 86400, JSON.stringify(result));
res.status(201).json(result);
});
DB-Idempotenz¶
INSERT INTO orders (external_id, customer_id, total)
VALUES ('ord-123', 'cust-456', 1000)
ON CONFLICT (external_id) DO NOTHING RETURNING *;
Zusammenfassung¶
Implementieren Sie Idempotency Keys für POST/PATCH. Rechnen Sie immer mit wiederholten Anfragen.
Brauchen Sie Hilfe bei der Implementierung?¶
Unser Team hat Erfahrung mit dem Entwurf und der Implementierung moderner Architekturen. Wir helfen Ihnen gerne.