Event-Driven Architecture
Arquitectura Orientada a Eventos
En la arquitectura orientada a eventos, un componente publica un hecho después de que algo cambia. Otros componentes reaccionan después bajo reglas claras para la entrega y futuros cambios de formato.
Otro ejemplo
Cuando se cancela la suscripción 42, Billing publica un evento `SubscriptionCanceled` versionado con asunto, hora e ID de rastro. Los servicios de Access y Analytics reaccionan por su cuenta y ambos eliminan los ID de eventos duplicados. Analytics puede reproducir el registro más tarde. Un siguiente paso fallido usa compensación en lugar de tratar todo el flujo como una sola transacción.
Partes principales
- 01hecho y esquema del evento
- 02Corredor o registro de eventos
- 03Consumidores independientes que reaccionan
Úsalo cuando
Usa eventos para hechos duraderos necesarios por varios consumidores independientes. Define quién posee el esquema, el orden, la repetición y las reglas de fallo.
No lo uses cuando
No uses eventos para ocultar una cadena de solicitudes cuyos partes deben actuar juntas. No disfrazas un comando vago como un hecho en tiempo pasado.
Nombre usado en código
versioned event envelope + durable broker/log + idempotent consumers + trace context Antes de lanzarlo
Check contracts and invariants, authorization, and input limits. Test retries, one-time effects, timeouts, and partial failures. Verify data integrity, compatibility, monitoring, recovery, and rollback.
Outcome: Complete the task with Arquitectura Orientada a Eventos (Event-Driven Architecture). User context: Cuando se cancela la suscripción 42, Billing publica un evento `SubscriptionCanceled` versionado con asunto, hora e ID de rastro. Los servicios de Access y Analytics reaccionan por su cuenta y ambos eliminan los ID de eventos duplicados. Analytics puede reproducir el registro más tarde. Un siguiente paso fallido usa compensación en lugar de tratar todo el flujo como una sola transacción. Technical concept or control: Arquitectura Orientada a Eventos (Event-Driven Architecture). Why it fits: Usa eventos para hechos duraderos necesarios por varios consumidores independientes. Define quién posee el esquema, el orden, la repetición y las reglas de fallo. Do not use it when: No uses eventos para ocultar una cadena de solicitudes cuyos partes deben actuar juntas. No disfrazas un comando vago como un hecho en tiempo pasado. Engineering requirements: Define inputs, outputs, contracts, and rules that must always hold. Set authorization and input checks. Define failures, timeouts, retries, one-time effects, data moves, and compatibility limits. Operations: Add useful signals and logs that hide sensitive data. Set capacity limits and write an operator guide. Test recovery and rollback. Acceptance criteria: Contract and failure-path tests pass. Data and authorization rules still hold during retries and partial failures. Check performance limits, monitoring, recovery, and rollback. Evidence and limits (evidence boundary): Ningún estándar oficial único controla todo el término. Su significado puede cambiar según equipos, plataformas o marcos. Unknowns to confirm: Where the code runs, data stores, traffic shape, consistency needs, and the security boundary. Also confirm the compatibility period, service goals, and rollback limits.
Revisa esta petición
Review how Arquitectura Orientada a Eventos (Event-Driven Architecture) is used now. Definition: En la arquitectura orientada a eventos, un componente publica un hecho después de que algo cambia. Otros componentes reaccionan después bajo reglas claras para la entrega y futuros cambios de formato. Release checks: Check contracts and invariants, authorization, and input limits. Test retries, one-time effects, timeouts, and partial failures. Verify data integrity, compatibility, monitoring, recovery, and rollback. Before changing code, list the evidence, gaps, severity, and the smallest safe fix.