Přeskočit na obsah
_CORE
AI & Agentic Systems Core Informační Systémy Cloud & Platform Engineering Data Platforma & Integrace Security & Compliance QA, Testing & Observability IoT, Automatizace & Robotika Mobile & Digital Banky & Finance Pojišťovnictví Veřejná správa Obrana & Bezpečnost Zdravotnictví Energetika & Utility Telco & Média Průmysl & Výroba Logistika & E-commerce Retail & Loyalty
Reference Technologie Blog Knowledge Base O nás Spolupráce Kariéra
Pojďme to probrat

Idempotency — bezpečné opakování operací

01. 01. 2024 1 min čtení intermediate

Architektura Pokročilý

Idempotency — bezpečné opakování operací

IdempotencyAPIReliability 3 min čtení

Implementace idempotentních API. Idempotency keys a databázové techniky.

Co je idempotence?

Vícenásobné provedení = stejný výsledek. GET, PUT, DELETE jsou přirozeně idempotentní. POST není.

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 idempotence

INSERT INTO orders (external_id, customer_id, total)
VALUES ('ord-123', 'cust-456', 1000)
ON CONFLICT (external_id) DO NOTHING RETURNING *;

Shrnutí

Implementujte idempotency keys pro POST/PATCH. Vždy počítejte s opakovanými requesty.

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