inflearn logo
강의

강의

N
챌린지

챌린지

멘토링

멘토링

N
클립

클립

로드맵

로드맵

지식공유

카프카 완벽 가이드 - 코어편

Consumer 파티션 할당 전략 실습 - Cooperative Sticky 방식 할당 실습

특정 메시지까지만 커밋이 가능할까요?

385

김기현

작성한 질문수 2

0

안녕하세요~ 강의 항상 잘듣고있습니다ㅎㅎ
배치사이즈를 작게하면 성능이 낮아지고
배치사이즈를 크게하면 ack유실시 중복처리가 많아져서
배치사이즈를 크게하고
ack(commit)을 전체가 아닌 일부분만 할 수 없을까? 생각하게되었어요.
예를들어서 1000개 배치로 가져오고
10개까지 commit, 100개까지커밋, ....
요런것도 가능할려나요?.?

kafka 데이터-엔지니어링

답변 1

0

권 철민

안녕하십니까,

잘 듣고 계시다니 저도 기쁩니다.

음, 아무래도 배치가 처리 단위다 보니, 배치 레벨로 읽어 들이기 때문에 읽어 들인 단위로 Commit을 해야 합니다. 그렇지 않고 fetcher가 읽어 들인 데이터가 1000건인데 이걸 commit을 10건을 하게 되면 fetch는 나머지 990건을 다 commit 할때 까지 기다리거나, 최악의 경우 990건을 버리고 어디까지 commit 되었는지 브로커로 다시 가서 __consumer_offsets을 뒤져서 다시 데이터를 가져와야 합니다. 이 경우 성능이 굉장히 저하됨은 물론, consumer 정합성 처리가 더 어렵게 되기 쉽습니다.

배치 성능은 높이고 싶지만, ack 유실을 최소화 하고자 한다면 배치 크기를 어쩔수 없이 적정한 수준에서 정해야 합니다.

감사합니다.

virtual box 설치 문제

0

62

2

카프카 서버 구축 관련 문의

0

67

2

카프카 토픽 Key 타입 변경에 관한 질문

0

70

2

Zookeeper에서 KRaft

0

78

1

카프카 학습과 관련하여 질문 드립니다

0

98

2

파티션 증가시 비용 증가 고려

0

72

2

Kafka 초기 Partition 개수 설정 관련 질문

0

83

2

VM 과 도커의 차이

0

139

2

vm 어댑터설정 문의

0

78

2

Cooperative Sticky Rebalancing 질문

0

58

2

consumer 설정 질문

0

68

2

consumer.poll 질문입니다.

1

69

2

mainThread.join() 관련 질문

0

57

2

문의

0

153

2

멀티 브로커 설정 중 포트 충돌 발생

0

120

2

Consumer Group 강의 Lag 질문있습니다!

0

107

2

강의 설명 및 코드 정리

0

174

2

실습 코드는 어디서 받나요.. 아무리 찾아도 엄네요..

0

151

1

java.nio.BufferUnderflowException 에러 발생합니다..

0

158

3

KafkaTimeoutError:

0

157

2

acks 1 이면 비동기가 아니지 않나요?!

0

185

2

Producer의 메시지 비동기화 전송 구현 강좌 내용 중 질문

0

109

2

자문자답: 데이터 누락된다고 하시는 분 참고하세요.

0

216

2

자문자답: kafka Error connecting to node utuntu-20.myguest.virtualbox.org:9092

0

203

2