필수 설정
bootstrap.servers
key.deserializer, value.deserializer
- 각각 message key, message를 역직렬화하는 클래스 지정
- producer 에서 지정한 serializer 와 대응하도록 지정
권장 설정
group.id
기타
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 이 설정값 보다 커야한다.