반응형
Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | ||||||
2 | 3 | 4 | 5 | 6 | 7 | 8 |
9 | 10 | 11 | 12 | 13 | 14 | 15 |
16 | 17 | 18 | 19 | 20 | 21 | 22 |
23 | 24 | 25 | 26 | 27 | 28 |
Tags
- OFFSET
- boj #19237 #어른 상어
- 기술면접
- 소프티어
- upper_bound
- 6987
- 처우산정
- @P0
- 13908
- 경력
- compose
- 연결요소
- Docker
- 퇴사통보
- 이분탐색
- 처우협의
- incr
- 매개변수탐색
- Kafka
- 오퍼레터
- dfs
- 물채우기
- 백트래킹
- BOJ
- 성적평가
- 백준
- 파라메트릭
- msSQL
- BFS
- softeer
Archives
- Today
- Total
기술 블로그
레코드 본문
728x90
반응형
◎ 레코드
- 레코드는 타임스탬프, 헤더, 메시지 키지, 메시지 값, 오프셋으로 구성되어 있음.
- 프로듀서가 생성한 레코드가 브로커로 전송되면, 오프셋과 타임스탬프가 지정되어 저장됨.
- 브로커에 한 번 적재된 레코드는 수정이 불가능하며, 로그 리텐션 기간 또는 용량에 의해서만 삭제
- 레코드 : 프로듀서가 파티션에 보낸 데이터
◎ 레코드 - 타임스탬프
- 레코드의 타임스탬프는 스트림 프로세싱에서 활용하기 위한 시간을 저장하는 용도로 사용
- 카프카 0.10.0.0 이후 버전부터 추가된 타임스탬프는 Unix timestamp가 포함되며, 프로듀서에서 따로 설정하지 ㅇ낳아도 기본값으로 ProducerRecord 생성 시간(CreateTime)이 들어감.
- 브로커 적재 시간(LogAppendTime)으로 설정할 수도 있다. 해당 옵션은 토픽 단위로 설정 가능하며, message.timestamp.type을 사용함.
◎ 레코드 - 오프셋
- 레코드의 오프셋은 프로듀서가 생성한 레코드에는 존재하지 않는다.
- 프로듀서가 전송한 레코드가 브로커에 적재될 때 오프셋이 지정된다.
- 오프셋은 0부터 시작하고 1씩 증가
- 컨슈머는 오프셋을 기반으로 처리가 완료된 데이터와 앞으로 처리해야할 데이터를 구분함.
- 각 메시지는 파티션별로 고유한 오프셋을 가지므로, 컨슈머에서 중복 처리를 방지하기 위한 목적으로도 사용함.
◎ 레코드 - 헤더
- 레코드의 헤더는 0.11부터 제공된 기능
- key/value 데이터를 추가할 수 있으며, 레코드의 스키마 버전이나 포맷과 같이 데이터 프로세싱에 참고할만한 정보를 담아서 사용할 수 있음
◎ 레코드 - 메시지 키
- 메시지 키는 처리하고자 하는 메시지의 값을 분류하기 위한 용도로 사용되며, 이를 파티셔닝이라고 함.
- 파티셔닝에 사용하는 메시지 키는 파티셔너(Partitioner)에 따라 토픽의 파티션 번호가 정해짐.
- 메시지 키는 필수 값이 아님. 지정하지 않으면 null로 설정.
- 메시지 키가 null인 레코드는 특정 토픽의 파티션에 라운드 로빈으로 전달됨.
- null이 아닌 메시지 키는 해쉬값에 의해서 특정 파티션에 매핑되어 전달된다.(기본 파티셔너의 경우)
◎ 레코드 - 메시지 값
- 레코드의 메시지 값은 실질적으로 처리할 데이터가 담기는 공간임.
- 메시지의 값은 포맷은 제네릭으로 사용자에 의해 지정됨. Float, Byte[], String 등 다양한 형태로 지정 가능
- 사용자 지정 포맷으로 직렬화/역직렬화 클래스를 만들어 사용할 수도 있음.
- 브로커에 저장된 레코드의 메시지 값은 어떤 포맷으로 직렬화되어 저장되었는지 알 수가 없어서, 컨슈머는 미리 역직렬화 포맷을 알고 있어야 함.
728x90
반응형
'온라인강의 > 아파치 카프카 애플리케이션' 카테고리의 다른 글
정리 (0) | 2023.09.10 |
---|---|
카프카 브로커와 클라이언트가 통신하는 방법 및 정리 (0) | 2023.09.10 |
토픽 이름 제약 조건 (0) | 2023.09.10 |
카프카 기본 개념 설명 (0) | 2023.09.05 |
아파치 카프카의 역사와 미래 (0) | 2023.09.05 |