Nivel 1: Fundamentos · L1.1 APIs: REST, gRPC, GraphQL, WebSockets/SSE, webhooks
Idempotency keys
Hacer que un POST sea seguro de reintentar con una idempotency key.
12 min · Gratis
Lo que te llevas
- Un timeout nunca te dice si la petición se aplicó, así que cualquier reintento de un POST corre el riesgo de hacer el trabajo dos veces.
- El cliente genera una llave antes del primer intento y manda la misma llave en cada reintento.
- El servidor guarda la llave con el resultado y repite ese resultado en lugar de volver a actuar.
- La fila de la llave se tiene que escribir en la misma transacción que el efecto, o una caída entre los dos te deja con uno sin el otro.
Cómo está armada la clase
- El problema
- La versión simple
- Qué hace el servidor
- Qué te compra esto, y dónde está el límite
- Comprueba lo que entendiste