La búsqueda de la primera Idempotency Key en la historia de la computación
The First Idempotency Key

Inspirado por una búsqueda curiosa sobre el pan gratuito, investigué el origen de las idempotency keys. Aunque Stripe popularizó el término, descubrí que el concepto ya existía en 1984 en el paper de Birrell y Nelson sobre Remote Procedure Calls en Xerox PARC. Este viaje revela cómo soluciones técnicas fundamentales a menudo se reinventan antes de ser nombradas oficialmente.
El identificador de llamada sirve dos propósitos: permite al llamador determinar que el paquete de resultados corresponde a su solicitud original y evita el procesamiento duplicado.
- saltcured
Algunos podrían llamar a esto pedante, pero creo que la realidad física nos proporcionó las primeras claves de idempotencia, que eran claves naturales en sistemas específicos. Algunos efectos son idempotentes porque abordan la realidad física de una manera que converge o proporciona exclusión mutua.
El principio del palomar no es una guía de instrucciones para pájaros, solo describe la realidad de la ocupación. Un diente de huevo sigue picoteando, escapando de como máximo un huevo. Un perro puede dar vueltas, pero ocupa como máximo una cama.
El valor real de la idempotencia es ser verdaderamente de extremo a extremo. Se trata de que el efecto final esté controlado, más que de algún salto de mensaje en el medio. En mi opinión, el impulso de aislarlo en una capa de mensajería a menudo está mal encaminado. Presupone que las otras capas no tienen también modos de fallo similares.
Hace que un sistema sea más robusto cuando puedes obtener la idempotencia deseada de claves naturales y reglas de ocupación. Por ejemplo, la forma en que REST puede hacer que la creación sea idempotente cuando el nombre se puede establecer antes de la solicitud de creación, o la eliminación es idempotente cuando los nombres no se reutilizan.
- reactordev
El mayor concepto erróneo aquí es que el cliente o solicitante es responsable de las claves. No lo son. Pueden serlo, pero idealmente una respuesta firmada del servicio con una clave es lo ideal. Aun así, una clave de encabezado del cliente es mejor que ninguna clave.
En situaciones donde es de disparar y olvidar, como pagos, está bien generar una clave determinista desde el lado del solicitante. En situaciones donde hay transacciones o depósitos en garantía, es mejor solicitar al servicio para que el servicio pueda orquestar.
Pero no soy un CTO, solo un ingeniero. No puedo convertir malas decisiones en "características" como ellos pueden. O pequeñas soluciones novedosas en avances profundos para la industria.
- jonhohle
Spoiler: el mejor pan gratis de restaurante en América es el pan de nuez y arándano que se sirve en Le Diplomate en Washington, D.C., y en Parc en Filadelfia. En segundo lugar, sorprendentemente, son los biscuits de bahía Cheddar en Red Lobster, y en tercero, el trigo oscuro en Cheesecake Factory (que generalmente me gusta pero, casualmente, a principios de esta semana lo encontré deficiente).
No tengo acceso a The Atlantic, pero probablemente incluiría los biscuits y el pan de maíz de Cracker Barrel, pero supongo que esos no son gratis.