liveBook · Manning

Event-driven architecture

As explained in Apache Kafka in Action

Event-driven architecture is a software architecture in which components communicate by producing and consuming representations of events.

Event-driven architecture organizes communication around events: significant occurrences represented as data, produced by one component, published to a stream, and consumed asynchronously by other components. This creates near-real-time data flow between services and can connect legacy systems with newer applications without requiring major changes to existing systems. section 1.2

A Kafka-based implementation typically provides these capabilities and trade-offs:

  • Store enterprise events in Kafka topics so multiple services can subscribe, process, and react to the same data. section 1.2
  • Stream data in near real time, enabling immediate evaluation, workflow triggering, and communication across organizational systems. section 17.3.2
  • Support large event volumes and reliable data flow through distributed systems, especially where frequent state changes make synchronous requests difficult to scale. section 17.3.2
  • Require additional infrastructure and operational expertise; smaller teams may find the investment greater than the benefit. section 17.3.2
  • Defer ad hoc analysis to tools or destinations such as Flink SQL, data lakes, and data warehouses because the distributed log is not a central queryable repository. section 17.3.2

Enterprise event flow

A user interaction, system update, or financial transaction becomes an event. An application publishes it to a Kafka topic, and other services subscribe to process it asynchronously. The same pattern can link a batch-oriented legacy system with modern services, allowing data to move between them without extensive changes to the legacy system. section 1.2

Figure 1.1 Kafka as the central nervous system for data in a company. Every event that takes place in the enterprise is stored in Kafka. Other services can react to these events asynchronously and process them further.
A screenshot of a computer

AI-generated content may be incorrect.

Use the architecture diagram to trace enterprise events into Kafka and follow asynchronous reactions by downstream services. section 1.2

How Apache Kafka in Action covers it

How deep it goes
Explains event representation, topic publication, subscription, asynchronous processing, benefits, and operational limitations without implementation commands.
Examples
Uses user interactions, system updates, financial transactions, Kafka topics, and legacy-to-modern enterprise integration as concrete examples.
What you can do after
Apply it via Kafka by publishing events to topics and having downstream services subscribe, process, and react asynchronously.
How it connects
Ties event-driven architecture to Kafka, REST, batch processing, legacy systems, data lakes, data warehouses, and stream processing.

Also explained in

Compare how 10 books explain event-driven architecture →

Related concepts

This explainer was generated by Manning's knowledge graph from the text of Apache Kafka in Action. The section links point to the parts of the book it draws on.