Capítulo 4. Patrones de diseño de la idempotencia
Este trabajo se ha traducido utilizando IA. Agradecemos tus opiniones y comentarios: translation-feedback@oreilly.com
Cada actividad de ingeniería de datos de acaba provocando errores: ya lo sabes por el capítulo anterior. Afortunadamente, los patrones de diseño de gestión de errores correctamente aplicados resuelven la mayoría de los problemas. Sí, has leído bien: la mayoría, no todos. ¿Por qué?
Veamos un ejemplo de recuperación automática de un fallo temporal. Desde el punto de vista de la ingeniería, es una gran función, ya que no tienes nada que hacer aparte de configurar el número de intentos de reintento. Sin embargo, desde el punto de vista de los datos, esta gran función conlleva un grave problema de coherencia. Una tarea o trabajo reintentado podría reproducir operaciones de escritura ya realizadas con éxito en el almacén de datos de destino, lo que provocaría una duplicación en el mejor de los casos. Has leído bien: la duplicación es el mejor de los casos, porque los duplicados pueden eliminarse en el lado del consumidor. Pero imaginemos lo contrario. El elemento reintentado genera duplicados que no se pueden eliminar porque ¡ni siquiera se puede decir que representen los mismos datos! Bienvenido a tu pesadilla y a la mala publicidad para tu conjunto de datos.
Esperemos que puedas mitigar estos problemas con los patrones de diseño de idempotencia presentados en este capítulo. Pero antes de que veas cómo se aplican a la ...
Become an O’Reilly member and get unlimited access to this title plus top books and audiobooks from O’Reilly and nearly 200 top publishers, thousands of courses curated by job role, 150+ live events each month,
and much more.
Read now
Unlock full access