Event-Driven Architecture
Sebastían Díaz
- Github: @seadiaz
- Twitter: @seadiaz
- LinkedIn: @seadiaz
Underworld Tribe Lead
Acoplamiento apropiado
Monolito
Patrón observador
SIN
CON
- Suscribir
- Notificar a todos
Modelo de actores
SIN
CON
- Enviar mensaje
- Cortar ejecución
Sistemas Distribuidos
Colas
SIN
CON
Publicador / Suscriptor
Orquestación
Coreografía
Evento A
Evento A
Evento A
Evento A
Eventos
- Siempre en pasado
- Informan lo que ocurrió
- No importa quien los usa
- No hay consciencia de quien los usa
- Son generados generalmente por un comando
Características
Tipo de mensaje
Mensaje completo
Evento A
{
"id": "..."
}
Mensaje mínimo
{
"id": "...",
"nombre": "...",
"descripcion": "..."
"codigo": "...",
"imagen": "...",
"familia": {
"codigo": "..."
"nombre": "..."
},
...
}
Evento A
Tecnologías
Showtime!
Transactions
Sagas
Crear A
Solicitud Creada
Solicitud Creada
Validación
confirmada
Crear A
Solicitud Creada
Solicitud Creada
Validación
rechazada
Validación
confirmada
Validación
rechazada
Patrón escúchate a ti mismo
Crear A
Solicitud Creada
Crear A
Solicitud Creada
Solicitud Creada
Por donde partir
Event Storming
Event-Driven Architecture
By Sebastian Diaz
Event-Driven Architecture
- 129