부제 : Kafka에서 이제 Zookeeper가 필요 없어졌다고...???
네?????/
Apache Kafka 2.8.0 출시 이후로 Zookeeper에 대한 의존성이 점차 제거되고 있다.
다만 3.3.1 릴리즈부터 시작해서 4.0 부터 Zookeeper가 제거될 예정이라고 한다.
올해 안에 완성된다는데 4.0 출시까지 얼마 남지 않았다.
곧 Kafka 내부에서 메타데이터를 저장하고 관리한단다.
젠장 지금 릴리즈 3.7까지 나왔고 난 3.3 쓰고 있는데 몰랐다
Zookeeper-less Kafka
zookeeper와 kafka라는 두 개의 분산 시스템을 관리하니 더 힘들고 작업을 중복해서 수행하게 된다.
아직 ver 2.8.0은 Early Access로 절대 프로덕션 환경에서 사용하면 안된다고 한다.
가장 최근 릴리즈에서, zookeeper는 kafka 내부의 Raft Quorum
으로 대체될 수 있게 되었다.
Raft? 뗏목 합의 알고리즘은 분산 환경에서 모든 노드가 동일한 상태를 유지하고 결함이 생겨도 전체 시스템이 문제 없이 동작하도록 고안된 합의 알고리즘이다.
원리에 대해선 4.x 출시하면 그때 공부하겠다…..ㅎ
그럼 Zookeeper가 하던 메타데이터 관리는?
원래 Partition의 위치, Topic의 옵션 같은 데이터는 Zookeeper cluster에서 따로 관리해왔다.
이 Zookeeper의 역할을 Raft Quorum
이라는 분산 합의 프로토콜을 이용하도록 대체 되었다.
Kafka Raft Metadata Mode
를 활성화 시켰을때, kafka는 metadata와 configuration을 @metadata
라는 Topic으로 저장하게 된다.
그리고 cluster 내의 노드는 broker, controller 혹은 둘 다(combined nodes) 될 수 있다고 한다.
이외에 Zookeeper mode에서는 사용하면 안되는 패러미터도 추가되는 등
결과적으로는 러닝 커브가 크게 줄겠지만 당장 배울게 생길 거 같다..
아무튼 잘가라, Zookeeper
야호 좀만 참으면 이제 Zookeeper까지 공부할 필요 없이 Kafka를 다룰 수 있다
일단 이놈의 뗏목이랑 정족수(Quorum)을 공부해야한다는 소리지?? 안할래요
출처 및 인용
https://www.confluent.io/ko-kr/blog/removing-zookeeper-dependency-in-kafka/
https://psm1782.medium.com/동물원을-탈출한-카프카-zookeeper-less-kafka-a71cba58d5d9
'kafka' 카테고리의 다른 글
Kafka가 대용량 트래픽에 뛰어난 성능을 보이는 이유 (0) | 2024.11.21 |
---|---|
동물원을 탈출한 Kafka를 잡아왔습니다 (0) | 2024.11.21 |
토이프로젝트 - 메시지 송수신간의 Kafka 트랜잭션 처리 범위 실험 (0) | 2024.11.21 |
토이프로젝트 - Apache Kafka 성능 비교 (0) | 2024.11.21 |
우당탕탕 C++로 Apache Kafka 통신하기 (rdkafka, modern-cpp-kafka) (0) | 2024.11.21 |