1/7Operación normal: los tres sitios aceptan escrituras del mismo dato — multi-master — y replican entre sí. Saldo de la cuenta: $50,000.
2/7Se corta el enlace con Virginia. Cada sitio queda solo con su vista local — y sigue autorizando.
3/7Primero: Datacenter México autoriza un retiro de $40,000 contra su saldo local: $50,000. El efectivo se entrega.
4/7Después: en AWS Virginia, un agente de IA escribe directo a la base de datos — sin pasar por la app: un pago de $35,000 contra una vista obsoleta: $50,000. Se liquida.
5/7El enlace vuelve. La replicación entrega ambas escrituras en milisegundos — pero el dinero ya salió.
6/7Opción A — merge CRDT/delta: converge sin conflicto. $50,000 − $40,000 − $35,000 = −$25,000. La pérdida queda registrada.
7/7Opción B — Last-Write-Wins: gana la última escritura, el pago. Saldo: $15,000. El retiro de $40,000 desaparece de los libros.
Dos formas de converger — ninguna previene
Merge CRDT / delta
−$25,000
pérdida registrada
Last-Write-Wins
$15,000
pérdida oculta: el retiro de $40,000 sin rastro
Ambos cargos ya estaban autorizados y pagados. Opción C — script propio: usted programa cuál de las dos — siempre después de que el dinero salió.
La alternativa segura: consistencia fuerte con MongoDB
Las escrituras concurrentes se ordenan en un solo Primary y se validan contra el saldo real — en serie, no en paralelo. Ante un fallo de red: esperar o rechazar, nunca dos verdades.
PRIMARY ÚNICO — ordena y valida en serie, contra el saldo real
$50,000
→
① Retiro −$40,000
APROBADO
→
$10,000
→
② Pago −$35,000
RECHAZADO · SIN FONDOS
→
$10,000