Modern Apache Kafka cluster'ları KRaft ile metadata yönetir; controller ve broker rolleri production'da ayrı veya birleşik yapılandırılabilir. Kafka kapasitesini yalnız event/s değil retention, partition sayısı, replication factor, message boyutu ve disk/network throughput belirler.
Güncel KRaft mimarisi cluster metadata'sını controller quorum içinde yönetir ve yeni KRaft cluster'larında ZooKeeper gerekmez. Production tasarımında controller quorum ile broker kapasitesi ayrı düşünülmelidir; combined mode küçük/test kurulumlarında daha uygundur.
Producer topic partition'a yazar; broker veriyi replication factor'a göre diğer broker'lara çoğaltır; consumer group partition'ları üyeler arasında paylaşır.
Controller metadata quorum'u yönetirken broker veri trafiği ve partition IO'sunu taşır. Büyük production cluster'da rolleri ayırmak kaynak izolasyonu sağlar.
Raw ingest × retention tek başına yeterli değildir; replica kopyaları, segment overhead ve büyüme payı eklenmelidir.
Binary yolları kurulum modeline göre değişebilir; bootstrap server adresini kendi cluster'ınıza göre uyarlayın.
kafka-metadata-quorum.sh --bootstrap-server localhost:9092 describe --statuskafka-topics.sh --bootstrap-server localhost:9092 --listkafka-topics.sh --bootstrap-server localhost:9092 --describe --topic eventskafka-consumer-groups.sh --bootstrap-server localhost:9092 --all-groups --describeBroker eklemek partition'ları otomatik olarak eşit dağıtmayabilir; reassignment ve client kapasitesi ayrıca planlanmalıdır.
Kafka cluster metadata'sını Raft tabanlı controller quorum ile yöneten mimaridir; ZooKeeper bağımlılığını kaldırır.
Zorunlu değildir ancak yoğun log write, retention ve replication workload'larında hızlı disk throughput/latency faydalıdır.
Throughput, consumer parallelism, ordering gereksinimi ve büyümeye göre belirlenmelidir; tek sabit sayı yoktur.
Günlük event hacmi, message boyutu, retention, replication factor ve consumer sayısını iletin; broker/controller topolojisini belirleyelim.