요소 | 설명 |
---|---|
주키퍼 | 아파치 프로젝트 어플리케이션 이름. 카프카의 메타데이터 관리 및 브로커의 정상상태 점검을 담당 |
카프카 / 카프카 클러스터 | 아파치 프로젝트 어플리케이션 이름. 여러대의 브로커를 구성한 클러스터를 의미 |
브로커 | 카프카 어플리케이션이 설치된 서버 또는 노드 |
프로듀서 | 카프카로 메세지를 보내는 역할을 하는 클라이언트 |
컨슈머 | 카프카에서 메세지를 꺼내가는(수신하는) 역할을 하는 클라이언트 |
토픽 | 카프카 메세지 피드들을 토픽으로 구분, 각 토픽의 이름은 카프카 내에서 유니크 |
파티션 | 병렬 처리 및 고성능을 얻기 위해 하나의 토픽을 여러 개로 나눈 것 |
세그먼트 | 프로듀서가 전송한 실제 메세지가 브로커의 로컬 디스크에 저장되는 파일 |
메세지 / 레코드 | 프로듀서가 브로커로 전송하거나 컨슈머가 읽어가는 데이터 조각 |
메세지들을 여러 개로 복제해서 카프카 클러스터내 브로커들에게 분산시키는 동작을 의미
일반적으로 replication-factor 수는
개발환경 : 1
운영환경 (약간의 유실 허용) : 2
운영환경 (유실 허용하지 않음) :3
하나의 토픽이 한 번에 처리할 수 있는 한계를 높이기 위해 토픽 하나를 여러 개로 나눠 병렬 처리가 가능하게 만든 것
- 토픽1은 파티션0 이라는 1개의 파티션으로 구성
- 토픽3은 파티션0, 파티션1, 파티션2의 총 3개의 파티션으로 구성
프로듀서에 의해 브로커로 전송된 메세지는 토픽의 파티션에 저장되며, 각 메세지들은 세그먼트라는 로그 파일의 형태로 브로커의 로컬 디스크에 저장된다