umlforge_event_driven
Design event-driven messaging architectures with producers, brokers, and consumers. Model pub/sub flows, failure handling, and idempotency for reliable async systems.
Instructions
Design an event-driven or async messaging architecture (Kafka, SQS, RabbitMQ, etc.).
USE THIS WHEN:
Services communicate via events or messages (not direct API calls)
You are designing event sourcing, CQRS, or pub/sub patterns
You want to model producer → broker → consumer flows with failure handling
NOT FOR:
Synchronous REST/gRPC calls between services → use umlforge_api_sequence
Entity lifecycle (Order goes pending → active) → use umlforge_state_machine
Full system architecture overview → use umlforge_stakeholder_arch
Produces:
Event flow sequence: producers → broker → consumers with ack, retry loops (max N), dead-letter queue handling
Event catalogue table: name, producer, consumers, payload, idempotency, retention
Choreography vs orchestration assessment with coupling risk flags
Failure mode analysis: scenario, impact, detection, recovery
(report_mode=True) Event System Analysis Notes: reliability risks, idempotency gaps, resilience quick wins
Args: system_context: What this event-driven system does and why it uses messaging. producers: Services that emit events (e.g. "Order Service emits order.placed"). consumers: Services that consume events (e.g. "Notification, Inventory, Analytics"). broker: Message broker (e.g. "Kafka", "RabbitMQ", "AWS SQS/SNS") (optional). events: Named domain events (e.g. "order.placed, payment.failed") (optional). report_mode: True → also produce Event System Analysis Notes. Pro/Team/Enterprise only. Omit to use your saved account preference (dashboard toggle); False forces diagrams only.
Input Schema
| Name | Required | Description | Default |
|---|---|---|---|
| broker | No | ||
| events | No | ||
| consumers | Yes | ||
| producers | Yes | ||
| report_mode | No | ||
| system_context | Yes |
Output Schema
| Name | Required | Description | Default |
|---|---|---|---|
| result | Yes |