L'architettura di Kafka consiste in un cluster di broker (server) che archiviano topic partizionati e replicati, con producer che scrivono e consumer che leggono, coordinati dalla gestione dei metadati (storicamente ZooKeeper, ora KRaft). Comprendere l'architettura chiarisce come Kafka funziona come sistema distribuito.
I componenti
BROKERS → Kafka SERVERS forming a CLUSTER:
→ store topic partitions (the data); serve producers and consumers
→ a cluster of multiple brokers → distributes data and load; scales horizontally
TOPICS / PARTITIONS → topics split into partitions, distributed across brokers
PRODUCERS → write events to topics (to partition leaders)
CONSUMERS (in groups) → read events from partitions
COORDINATION → metadata, cluster state, leader election:
→ historically ZOOKEEPER; now KRAFT (Kafka's own built-in consensus, removing ZooKeeper)
