liveBook · Manning

Coordination cluster

As explained in Apache Kafka in Action

A coordination cluster is a group of nodes that monitors a distributed cluster and manages its membership, metadata, assignments, and coordination state.

A coordination cluster is the orchestration layer of a Kafka deployment. It monitors brokers, tracks membership and metadata, manages topic access and partition assignments, and helps keep the cluster available when brokers fail. section 4.3.1

Its operational responsibilities include:

  • Monitoring broker reachability and maintaining the active-broker list, including broker additions and removals. section 4.3.1
  • Storing topic metadata, access information, partition assignments, and the leader broker for each partition. section 4.3.1
  • Designating a controller that manages partition and replica state, reassigning partitions and selecting leaders after broker failures. section 4.3.1
  • Providing metadata that clients use to discover which brokers lead partitions; clients obtain it through a broker metadata request. section 7.4

Bootstrapping a client

A topic-listing command can start with one broker using --bootstrap-server localhost:9092, but production clients should specify multiple brokers, such as localhost:9092,localhost:9093,localhost:9094. A load balancer or DNS can simplify discovery as the cluster grows. section 7.4

Figure 4.11 Kafka uses either a KRaft-based or a ZooKeeper-based coordination cluster. Both should consist of an odd number of nodes (usually three or five) and use a protocol to find a consensus.
A group of ovals with text

AI-generated content may be incorrect.

Use the architecture figure to compare KRaft-based and ZooKeeper-based coordination clusters and their consensus-oriented node layout. section 4.3.1

Coordination clusters normally use an odd number of nodes, commonly three or five. Three nodes allow one failure without losing availability; five allow two failures. Coordination nodes need modest compute resources, but reliable, low-latency networking is important. section 14.3.2

How Apache Kafka in Action covers it

How deep it goes
Explains membership, metadata, controller duties, failover, client discovery, and node sizing without detailing consensus internals.
Examples
Uses Kafka topic-listing commands, bootstrap-server lists, broker metadata requests, and three- or five-node coordination clusters.
What it assumes
Assumes familiarity with Kafka brokers and clients while establishing coordination, metadata, partitions, and leadership roles.
What you can do after
Operate/configure Kafka clients with resilient bootstrap addresses and coordination clusters sized for broker-failure tolerance.
How it connects
Connects brokers, clients, topics, partitions, replicas, controllers, metadata requests, ZooKeeper, and KRaft.

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.