한 브로커는 최대 4000개
partition과 Replication은 클 수록 좋다
serialize 직렬화
key.serializer
value.serializer
해싱 or RR(round robin)
consumer가 다수의 partitions를 어떻게 읽는가
기본적으로 각 partitions로 부터 라운드 로빈 형태로 하나씩 읽음
데이터의 병렬성이나 데이터 생산 속도를 위해서 consumer를 여러개 consumer group
backpressure
consumer group rebalancing 로드밸런싱
enable_auto_commit(=True)인경우 문제가 생긴 데이터가 로그가? 없이 수행
auto_offset_reset = earliest / latest
/ 최근에 새로 가져온 데이터 ?
message processing guarantee 방식
- exactly once 정확히 합번, 에러 발생시 어려움, 메시지 손실과 중복없음(ideal)
- at least once 적어도 한번, 중복 가능성 존재
- at most once 최대 한번만, 메시지 손실 가능성 존재, 중복은 없음(default)
ksql
rowtime = 에포크
'데브코스 데이터엔지니어링' 카테고리의 다른 글
| [TIL] Open Weather Dag 구현하기 full refresh (1) | 2024.12.26 |
|---|---|
| Ubuntu terminal quote, dquote 나가기 (1) | 2024.12.26 |
| [docker] 컨테이너 종료 (2) | 2024.12.23 |
| [Spark] Hadoop 발전 과정 (2) | 2024.12.17 |
| [Kafka] 실시간 데이터 처리 (0) | 2024.12.17 |