HistoryAbout Tech Radar
Trial
Methods & Patterns
Since Jan 2025
Event-Driven Architecture

Event-driven architecture continues in trial with the Cayenne team joining. Our event catalog now documents 40+ domain events with schema validation enforced at publish time. The pattern has enabled several new cross-service features that would have been impractical with synchronous REST calls, such as real-time inventory updates across dealer networks.

Event Infrastructure

Our event backbone runs on Amazon MSK (managed Kafka) with the following setup:

  • Schema Registry — Confluent Schema Registry enforces Avro schemas at produce time; incompatible schema changes are rejected before any event is published
  • Event Catalog — an AsyncAPI-based catalog auto-generated from our schema definitions, documenting all events with producer/consumer ownership
  • Dead Letter Queue — failed events route to a DLQ with automatic retry policies (3 retries with exponential backoff, then alert)

Key Domain Events

Event Producer Consumers Volume
vehicle.configured Configurator Pricing, Analytics, CRM ~50K/day
order.status.changed Order Service Dealer Portal, Notifications, Analytics ~5K/day
inventory.updated Inventory Service Dealer Portal, Search Index ~200K/day
user.action.tracked Frontend SDK Analytics Pipeline, Personalization ~2M/day

Lessons Learned

  • Schema evolution is critical — we enforce backward-compatible changes only. Adding optional fields is fine; removing or renaming fields requires a new event version.
  • Idempotency by default — every consumer must handle duplicate events gracefully. We use event IDs for deduplication.
  • Observability matters more — debugging async flows is harder than REST. We trace events end-to-end using OpenTelemetry correlation IDs, visible in Dash0.
  • Start with choreography — we avoided a central orchestrator. Services react to events independently. This keeps coupling low but requires clear event ownership documentation.
Edit
Jul 2025
Event-driven architecture continues in trial with the Cayenne team joining. Our event catalog now do…more
cayenne
Jan 2025
AssessTrial
Event-driven architecture has moved to trial. The 911 team has joined Macan in implementing domain e…more
911
Jul 2024
Assess
Event-driven architecture is being assessed as a pattern for decoupling our growing microservices la…more
macan