Event-Driven Architecture

Noun · Development

Definitions

  1. A design paradigm where the flow of the program is determined by events — user actions, sensor outputs, messages from other services. Components publish events and subscribe to events rather than calling each other directly.

    In plain English: A way of building software where things happen in response to events (a user clicked, a payment arrived, a file uploaded) rather than following a fixed step-by-step script.

  2. The key challenge is eventual consistency: when services communicate through events, there's a delay between an event occurring and all services processing it. Debugging is also harder — tracing a request across 10 services processing events asynchronously requires distributed tracing tools like Jaeger or Zipkin.

    Example: 'The order service publishes an OrderPlaced event. Inventory, payment, and shipping services each subscribe and handle it independently. Debugging? We use distributed tracing.'

    Source: challenges / tracing

Related Terms