[Kafka] Consumer 주요 설정

Woong·2021년 12월 28일
0

Apache Kafka

목록 보기
12/14

필수 설정

bootstrap.servers

  • kafka broker IP 목록

key.deserializer, value.deserializer

  • 각각 message key, message를 역직렬화하는 클래스 지정
  • producer 에서 지정한 serializer 와 대응하도록 지정
    • 대응하지 않을 경우 exception 발생

권장 설정

group.id

  • consumer 그룹을 정의

기타

enable.auto.commit

  • true 설정시 설정 주기에 따라 message offset 을 자동 commit
    • auto.commit.interval.ms 로 주기 설정
  • 커밋 제어 시점을 직접 제어하려면 false 로 설정
    • 중복 방지, 데이터 유실되지 않도록 주의

fetch.min.bytes

  • 읽기 요청에 대해 서버의 return 을 요구하는 최소한의 데이터 바이트 크기
    • 데이터가 이 값보다 작으면 데이터 축적 후 consumer에 전송
  • 기본값 1 (1byte)
    • 이보다 높게 설정시, 서버 처리 성능은 향상, consumer 처리 속도는 낮아짐

request.timeout.ms

  • consumer가 요청 재전송 전 응답을 기다리는 최대 시간

auto.offset.reset

  • partition에 대해 유요한 offset 이 없을 때 사용
    • lastest : consumer 시작 후 partition 의 가장 최근 메시지부터 시작
    • earliest : partition의 처음부터 데이터 읽기 시작 (=모두 다 읽음)
    • none : consumer 에서 exception 발생시킴

session.timeout.ms

  • consumer group 코디네이터에게 heatbeat를 전송하는 주기

max.partition.fetch.bytes

  • 서버에서 partition마다 할당할 최대 데이터 크기
    • ConsumerRecord 객체에 대해, 파티션 수 x 이 설정값 보다 커야한다.

0개의 댓글