아키텍쳐/kafka

주키퍼(ZooKeeper)

gnidoc 2019. 3. 9. 01:20
반응형

다음 글에서 이어지는 내용

2019/03/09 - [프로그래밍/아키텍쳐] - kafka 이해(번역)


와우 드디어 카프카를 이해했어!하고 튜토리얼(quick start)를 해보려는데 첫줄부터 이런게 나왔다.

This tutorial assumes you are starting fresh and have no existing Kafka or ZooKeeper data.
(이 튜토리얼은 당신이 새롭게 시작학고 기존의 카프카 또는 주키퍼 데이터가 없다고 가정합니다.)

음? 주키퍼?! 뭐지?

카프카는 주키퍼 없이 사용은 가능하다. 하지만 주키퍼는 없으면 안되는 존재이다.
(이게 무슨 개소리야)

그래서 주키퍼도 공홈에서 간단히 설명을 읽고 왔다.

주키퍼 설명만 여기에 남겨둔다.




주키퍼(ZooKeeper)

아파치 주키퍼는 신뢰성 높은 분산 조정이 가능한 오픈 소스 서버의 개발과 유지보수를 위해 노력한다.

주키퍼는 configuration 정보와 이름, 제공된 분산 동기화와 제공된 그룹 서비스를 관리하는 거에 대한 중앙 집중화된 서비스이다. 이러한 서비스의 종류 모두 분산 애플리케이션에 의해 어떤 형태로든 사용된다. 매번 그들은 많은 버그를 고치고 피할 수 없는 race condition 일들을 구현한다.  이런 종류의 서비스와 애플리케이션의 구현의 어려움 때문에 초기엔 보통 이런 것을 생락한다, 이런 것은 변화가 있고 관리하기 어려워 쉽게 부서진다. 심지어 올바르게 완료될때, 이런 서비스의 구현은 애플리케이션이 배포될때 관리의 복잡성을 이끈다.

한마디로 정리하면 카프카 같이 클러스터 구조의 애플리케이션은 배포할때 서버가 여러개이기 때문에 동기화처리나 관리하는게 매우 힘든데 이런 것을 주키퍼가 편하게 해준다는 것이다.

(공홈 설명이 너무 간단해서 더 이상은 naver...)


다음글 : 2019/03/13 - [프로그래밍/아키텍쳐] - 카프카 따라해보기


반응형