그룹 설정
그룹 설정 (Group Configs)
컨슈머 그룹(consumer group)과 공유 그룹(share group), 스트림 그룹(streams group)처럼 Kafka의 그룹 관련 동작을 제어하는 설정들을 정리한 문서예요. 그룹 프로토콜의 하트비트, 세션 타임아웃, 리밸런스 등이 핵심 내용이에요.
출처: 문서
본문
아래는 그룹 설정 항목들이에요.
consumer.assignment.interval.ms— 컨슈머 그룹의 할당(assignment) 업데이트 간격.- 유형:
int/ 기본값:1000(1초) / 유효 값:[0,...]/ 중요도: medium
- 유형:
consumer.heartbeat.interval.ms— 컨슈머 그룹의 멤버에게 주어지는 하트비트 간격.- 유형:
int/ 기본값:5000(5초) / 유효 값:[1,...]/ 중요도: medium
- 유형:
consumer.session.timeout.ms— 컨슈머 그룹 프로토콜을 사용할 때 클라이언트 장애를 감지하는 타임아웃.- 유형:
int/ 기본값:45000(45초) / 유효 값:[1,...]/ 중요도: medium
- 유형:
share.assignment.interval.ms— 공유 그룹(share group)의 할당 업데이트 간격.- 유형:
int/ 기본값:1000(1초) / 유효 값:[0,...]/ 중요도: medium
- 유형:
share.auto.offset.reset— 공유 파티션(share-partition)의 시작 오프셋을 초기화하는 전략.earliest: 오프셋을 가장 이른(earliest) 오프셋으로 자동 재설정latest: 오프셋을 가장 최신(latest) 오프셋으로 자동 재설정by_duration:<duration>: 현재 타임스탬프로부터 설정된 기간만큼 이전으로 오프셋을 자동 재설정.<duration>은 ISO8601 형식(PnDTnHnMn.nS)으로 지정해야 하고, 음수 기간은 허용되지 않아요.- 그 밖의 값: 공유 컨슈머에게 예외를 던져요.
- 유형:
string/ 기본값:latest/ 유효 값:[latest, earliest, by_duration:PnDTnHnMn.nS]/ 중요도: medium
share.delivery.count.limit— 공유 그룹으로 전달되는 레코드의 최대 전달 시도 횟수.- 유형:
int/ 기본값:5/ 유효 값:[2,...]/ 중요도: medium
- 유형:
share.heartbeat.interval.ms— 공유 그룹의 멤버에게 주어지는 하트비트 간격.- 유형:
int/ 기본값:5000(5초) / 유효 값:[1,...]/ 중요도: medium
- 유형:
share.isolation.level— 트랜잭션으로 작성된 레코드를 어떻게 읽을지 제어해요.read_committed로 설정하면 공유 그룹은 커밋된 트랜잭션 레코드만 전달해요.read_uncommitted로 설정하면 중단(abort)된 트랜잭션 메시지까지 모든 메시지를 반환해요. 비트랜잭션 레코드는 두 모드 모두에서 무조건 반환돼요.- 유형:
string/ 기본값:read_uncommitted/ 유효 값:[read_committed, read_uncommitted]/ 중요도: medium
- 유형:
share.partition.max.record.locks— 공유 파티션(share-partition)당 레코드 잠금(lock) 제한.- 유형:
int/ 기본값:2000/ 유효 값:[100,...]/ 중요도: medium
- 유형:
share.record.lock.duration.ms— 공유 그룹의 레코드 획득 잠금(lock) 지속 시간(밀리초).- 유형:
int/ 기본값:30000(30초) / 유효 값:[1000,...]/ 중요도: medium
- 유형:
share.renew.acknowledge.enable— 공유 그룹에서 renew acknowledge 유형이 활성화되어 있는지 여부.- 유형:
boolean/ 기본값:true/ 유효 값: — / 중요도: medium
- 유형:
share.session.timeout.ms— 공유 그룹 프로토콜을 사용할 때 클라이언트 장애를 감지하는 타임아웃.- 유형:
int/ 기본값:45000(45초) / 유효 값:[1,...]/ 중요도: medium
- 유형:
streams.assignment.interval.ms— 스트림 그룹(streams group)의 할당 업데이트 간격.- 유형:
int/ 기본값:1000(1초) / 유효 값:[0,...]/ 중요도: medium
- 유형:
streams.heartbeat.interval.ms— 멤버에게 주어지는 하트비트 간격.- 유형:
int/ 기본값:5000(5초) / 유효 값:[1,...]/ 중요도: medium
- 유형:
streams.initial.rebalance.delay.ms— 그룹 코디네이터가 첫 리밸런스(rebalance) 전에 새 그룹에 더 많은 스트림 클라이언트가 조인하기를 기다리는 시간. 지연이 길수록 리밸런스 횟수가 줄어들 수 있어요.- 유형:
int/ 기본값:3000(3초) / 유효 값:[0,...]/ 중요도: medium
- 유형:
streams.num.standby.replicas— 작업(task)당 대기(standby) 복제본 수.- 유형:
int/ 기본값:0/ 유효 값:[0,...]/ 중요도: medium
- 유형:
streams.session.timeout.ms— 스트림 그룹 프로토콜을 사용할 때 클라이언트 장애를 감지하는 타임아웃.- 유형:
int/ 기본값:45000(45초) / 유효 값:[1,...]/ 중요도: medium
- 유형:
더 알아보기 (Learn more)
- 하트비트·세션 타임아웃을 너무 작게 잡으면 일시적인 지연에도 멤버가 탈퇴로 오판될 수 있으니 넉넉히 잡는 편이 안전해요.
share.*항목은 공유 그룹(Share Consumer) 프로토콜의 동작을 제어해요.