Kafka 공부 해보자 - 1 !
내 마음대로 카프카 공부
카프카란?
고성능 분산 이벤트 스트리밍 플랫폼
- 실시간 기록
- 구독, 저장 및 처리
카프카 구성요소
카프카 클러스터, 주키퍼 클러스터, 프로듀서, 컨슈머로 구성
카프카 클러스터
- 메세지 저장소
- 1개의 클러스터 : N개의 브로커(각 서버)로 구성
- 브로커는 이중화 처리, 장애 처리 등 여러 역할
주키퍼
- 카프카 클러스터 관리 용도
- 카프카 클러스터 정보 기록 및 관리
프로듀서
- 카프카 클러스터에 메세지를 보내는 역할
- 라운드로빈, 키를 이용해서 파티션을 저장함
컨슈머
- 카프카 클러스터에서 메세지를 읽어오는 역할
토픽, 파티션
토픽과 파티션은 관련 있는 요소
토픽
- 메세지를 구분하는 단위
- 어떤 종류의 메세지를 구분하는 역할
- 목적에 맞는 토픽을 사용
파티션
- 1 토픽 : N 파티션 으로 구성
- 토픽에 저장되어있는 파일과 같은 역할
- 만약 프로듀서 요청이 들어오면 토픽안에 파티션을 저장하는 형식
- 파티션은 추가만 가능한 파일
- 파티션의 저장 위치를
오프셋
이라고함 - 컨슈머 그룹 내에서 한개의 파티션은 한개의 컨슈머에만 연결이 가능하다.
리플리카
파티션의 복제본
리더, 팔로워
- 여러 파티션에서 하나는 리더 나머지는 팔로워가 됨
- 프로듀서와 컨슈머는 리더를 통해서 메세지를 처리함
- 팔로워는 리더로부터 복제된 것
- 리더가 속한 브로커가 장애시에 다른 팔로워가 리더