Kafka, Producer 부터�Consumer 까지
Index
Producer
Producer Code
KafkaProducer 생성
KafkaProducer 생성
Producer Code
Accumulator
Accumulator
record를 topic + partition 별로 모아두는 대기 공간(?)
Accumulator에서 사용하는�메모리 크기
Network Thread
Network Thread
Network Thread
max.in.flight.requests.per.connection = 3
max.in.flight.requests.per.connection = 1
왼쪽이 Network Thread, 오른쪽이 Broker
Broker
어떻게 저장되나
[Topic name]-[partition] 폴더 구조
어떻게 저장되나
Segment 단위로 파일 저장
*.index, *.log, *.timeindex
어떻게 저장되나
Topic
Partition
Segment
어떻게 저장되나
어떻게 저장되나
어떻게 저장되나
Consumer
Consumer Code
Kafka Consumer 생성
Kafka Consumer 생성
데이터 가져오기
데이터 가져오기
데이터 가져오기 (fetcher에 records가 있는 경우)
데이터 가져오기 (fetcher에 records가 있는 경우)
데이터 가져오기 (fetcher에 records가 없는 경우)
데이터 가져오기 (fetcher에 records가 없는 경우)
데이터 가져오기 (fetcher에 records가 없는 경우)
데이터 가져오기 (fetcher에 records가 없는 경우)
데이터 가져오기 (fetcher에 records가 없는 경우)
부록
Consumer Rebalance
Consumer Rebalance
Consumer Rebalance
Consumer Rebalance
Consumer Rebalance
Consumer Rebalance
Consumer Rebalance
Consumer Rebalance
Consumer Rebalance
Consumer Group offset
Consumer Group offset
Ver. 0.9 미만 에서는 zookeeper에 consumer offset을 저장
Consumer Group offset
Ver. 0.9 이상 __consumer_offset 토픽을 사용��
Group name | Topic name | partition | offset | Commit time |
test-01 | my-topic | 1 | 0 | 1551191950 |
test-02 | my-topic | 1 | 0 | 1551193842 |
test-01 | my-topic | 1 | 10 | 1551203421 |
test-01 | my-topic | 1 | 19 | 1551243229 |
OLD
NEW
Consumer Group offset
못다한 이야기
감사합니다.