Architecture
Kafka without ZooKeeper: KRaft in production
To remove ZooKeeper from Kafka you have to go through 3.9. I migrated a three-broker Kafka 3.9.2 ZooKeeper cluster to KRaft in Docker and then upgraded it to Kafka 4.4.0: five phases with rolling restarts, the config and commands for each one, and all 100,000 messages intact at the end.