지난 포스트에서 Kafka producer의 데이터 처리 내부 architecture에 대해서 알아보았다.
☞ 아파치 Kafka Producer architecture 설명 포스팅
이번 포스트에서는 kafka architecture의 Consumer 내부 데이터 흐름에 대해 알아보려고 한다.
Kafka Consumer 데이터 내부 처리 순서
#1 : poll(record 취득 api) 호출
#2 : 가져오고자 하는 record가 Fetcher queue에 없는 경우, Fetch request를 발동하여 broker에서부터 record를 가져온다.
#3 : record batch를 Fetcher queue에 저장
#4 : 어디까지 읽었는지에 대한 offset을 consumer측에서 보관
#5 : record batch의 압축을 풀고, record를 user application thread에 반환
Kafka Consumer 튜닝 파라미터
#A : Fetch Request
- fetch.min.bytes=1byte
- max.partition.fetch.bytes=1MB
- fetch.max.bytes=50MB
- fetch.wait.max.ms=500ms
- receive.buffer.bytes=64KB
#B : Offset auto commit
- enable.auto.commit=true
- auto.commit.interval.ms=5seconds
#C : Consumer group의 consumer 수 조정(application scale up)
반응형
'빅데이터 > Kafka' 카테고리의 다른 글
KSQL - Streaming SQL for Apache Kafka 개요 - readme 설명 번역 (265) | 2019.07.07 |
---|---|
Kafka broker와 java client의 버젼 하위호환성 정리 (390) | 2019.02.14 |
Apache Kafka에서 topic의 partition 개수 줄이는 방법? (268) | 2018.12.26 |
아파치 Kafka Producer의 데이터 처리 내부 architecture 설명 및 튜닝포인트 (371) | 2018.12.24 |
빅 데이터 처리를 위한 아파치 Kafka 개요 및 설명 (259) | 2018.12.24 |
Spring boot에서 kafka 사용시 application.yaml 설정 (578) | 2018.11.06 |