Consumer 주요 옵션
- bootstrap.servers : 브로커 정보.
- fetch.min.bytes : 한 번에 가져올 수 있는 최소 데이터 크기. 지정 크기보다 작을 경우, 누적될 때까지 기다림.
- group.id : 컨슈머 그룹을 식별하는 식별자. 동일한 그룹 내의 컨슈머는 정보를 모두 공유.
- heartbeat.interval.ms : 하트비트가 있다는 것은 컨슈머의 상태가 active인 것. session.timeout.ms와 연관이 있으며, 이 값보다 낮은 값으로 설정한다. 일반적으로 session.timeout.ms의 1/3로 설정한다.
- max.partition.fetch.bytes : 파티션 당 가져올 수 있는 최대 크기.
- session.timeout.ms : 이 시간을 이용해 컨슈머가 종료된 것인지 판단함.
- enable.auto.commit : 백그라운드로 주기적으로 오프셋 커밋할지 여부.
- auto.offset.reset : 초기 오프셋이 없거나 현재 오프셋이 더 이상 존재하지 않을 경우, 해당 옵션에 따라 리셋한다.
earliest - 가장 초기 오프셋값으로 리셋.
latest - 가장 마지막 오프셋 값으로 리셋.
none - 이전 오프셋 값을 찾지 못하면 에러.
- fetch.max.bytes : 한 번의 가져오기 요청으로 가져올 수 있는 최대 크기.
- group.instance.id : 컨슈머의 고유한 식별자. 설정한다면 static 멤버로 간주되어 불필요한 리밸런싱은 하지 않는다.
- isolation.level : 트랜잭션 컨슈머에서 사용되는 옵션.
read-committed - 기본값. 모든 메시지를 읽음.
read-uncommitted - 트랜잭션이 완료된 메시지만 읽음.
- max.poll.records : 한 번의 poll() 요청으로 가져오는 최대 메세지 수.
- partition.assignment.strategy : 파티션 할당 전략. 기본값은 range.
- fetch.max.wait.ms : fetch.min.bytes에 의해 설정된 데이터보다 적은 경우에 요청 응답을 기다리는 최대 시간.
출처) 실전 카프카 개발부터 운영까지 (고승범 저)