본문 바로가기
📨 Apache Kafka

[아파치 카프카 애플리케이션 프로그래밍 with 자바] 3-2, 3장 토픽과 파티션, 레코드

by GroovyArea 2023. 3. 27.

토픽

  • 데이터를 구분하기 위해 사용되는 단위
  • 1개 이상의 파티션 소유
  • 데이터를 Record 라 칭함

파티션

  • 병렬처리의 핵심
  • 컨슈머의 개수를 늘리는 스케일 아웃으로 한정된 컨슈머의 처리량을 보조 가능.
  • Queue와 같은 구조

레코드

  • 타임 스탬프, 메시지 키, 메시지 값, 오프셋, 헤더 구성
  • 한번 적재된 레코드는 수정 불가 및 log retention or capacity에 따라 삭제

특징

  • 생성된 시점에 Unix Time 설정 됨,
  • 레코드 생성 시 타임 스탬프를 설정할 수 있다는 것에 유의
  • 메시지 키를 이용하여 해시 값을 토대로 파티션 지정 가능
    • 필요시 null 설정
  • 메시지 값은 직렬화, 역직렬화 가능한 객체로 설정 => 동일한 형태로 상호 간 수행
  • 컨슈머가 데이터를 가져갈 때, 오프셋을 사용
    • 컨슈머 그룹이 요청 한 파티션 범위를 명확히 지정 가능,
  • 메타 데이터를 저장하는 헤더
    • 키 값 형태 가능
반응형