Kafka 프로젝트는 2019년 8월 1일 KIP-500이 도입되면서 가장 큰 변화를 수행했다고 합니다.
Apache Kafka 실행에 대한 종속성인 Zookeeper를 제거하려는 목적이었다고 합니다.
Kafka 스케일링으로 인해 Zookeeper의 성능적 병목 현상이 발생했습니다. 즉, Kafka에는 Zookeeper와 관련하여 제한 사항이 있습니다.
Zookeeper를 제거한다는 것은 Kafka Controller 선택을 수행하기 위해 여전히 쿼럼 역할을 해야 함을 의미하므로 Kafka Broker는 Raft 프로토콜 구현하여 새로운 Kafka 메타데이터 쿼럼 모드(Quorum mode)에 KRaft라는 이름을 부여합니다.
https://cwiki.apache.org/confluence/display/KAFKA/KIP-500%3A+Replace+ZooKeeper+with+a+Self-Managed+Metadata+Quorum
https://www.confluent.io/blog/removing-zookeeper-dependency-in-kafka/
~/kafka_2.12-3.6.1/bin/kafka-storage.sh random-uuid
~/kafka_2.12-3.6.1/bin/kafka-storage.sh format -t <uuid> -c ~/kafka_2.12-3.6.1/config/kraft/server.properties
/tmp/kraft-combined-logs
가 포맷되고 config/kraft/server.properties
에 카프카가 데이터를 저장하게 경로가 변경됩니다.~/kafka_2.12-3.6.1/bin/kafka-server-start.sh ~/kafka_2.12-3.6.1/config/kraft/server.properties