Implementación genérica del patrón SAGA a un proceso

Sesión 5: 4h33m

Patrón SAGA

  • Reemplaza una transacción distribuida con una saga
    • Divide la transacción en muchas solicitudes
    • Rastrea cada solicitud
    • ACID: compromiso de atomicidad
    • Descrito por primera vez en 1987
  • También es un patrón de gestión de fallas
    • Qué hacer cuando falla un servicio
    • Compensar solicitudes
  • Implementación: considerar lo siguiente:
    • SAGA Log
    • Coordinador de ejecución de saga (SEC)
    • Solicitudes y compensación de solicitudes





 


Patrón SAGA implementación

  • Servicio que inicia la saga
    • Envía la solicitud de saga al registro de saga
  • Saga Log
    • Servicio con una base de datos
  • SEC
    • Interpreta y escribe en el registro
    • Envía solicitudes de saga
    • Envía solicitudes de compensación de saga
    • Recuperación: estado seguro vs estado inseguro
  • Solicitudes de compensación
    • Enviar en caso de error para todas las solicitudes completadas
    • Idempotente (fácil con REST)
    • Cada uno se envía de cero a muchas veces


Comments

Popular posts from this blog

Week #1: Definición de objetivos, desglose de trabajo

Week #2: Azure App Service

Registro de Excepciones