1 Getting to know Kafka as an Architect

 

This chapter covers

  • Principles of event-driven architecture
  • Overview of the Kafka ecosystem
  • Utilizing Kafka in enterprise environments

An architect’s role involves choosing how systems communicate, and one proven method for coordinating distributed work is through events. Several technologies exist, each with trade-offs in reliability, flexibility, and integration complexity. Apache Kafka is a widely adopted, open-source event streaming platform: it began as a high-throughput message broker and has grown into an ecosystem for real-time processing, backed by durable event storage.

Kafka is crucial because it bridges the gap between event and action: producers publish once, and many consumers react with low latency. That decoupling enables real-time fraud checks, personalized experiences, and operational alerts—without brittle point-to-point integrations. Its strength lies in enabling real-time event processing, which has become a business imperative across industries like financial services (fraud detection), retail (personalized recommendations), and manufacturing (predictive maintenance), where delays mean lost value.

1.1 How an architect sees Kafka

1.1.1 Event-driven architecture

1.1.2 Handling myriads of data

1.2 Field notes: Journey of an event-driven project

1.3 Key players in the Kafka ecosystem

1.3.1 Brokers and clients

1.3.2 Managing cluster metadata

1.4 Architectural principles

1.4.1 The Publish-Subscribe pattern

1.4.2 Reliable delivery

1.4.3 The commit log

1.5 Designing and managing data flows

1.5.1 Schema Registry: handling data contracts

1.5.2 Kafka Connect: data replication without code

1.5.3 Data transformation: streaming frameworks

1.6 Impacting operations and infrastructure

1.6.1 Kafka tuning and maintenance

1.6.2 On-premise and cloud options

1.6.3 Solutions from other cloud providers

1.7 Applying Kafka in enterprise

1.7.1 Using Kafka for sending messages

1.7.2 Using Kafka for storing data

1.7.3 How Kafka is different

1.8 Field notes: Getting started with a Kafka project

1.9 Online Resources

1.10 Summary