티스토리 뷰
프로듀서 주요 옵션
-
bootstrap.servers
- 카프카 클러스터는 기본적으로 마스터가 없는 구조이므로 클러스터 내 모든 서버가 클라이언트의 요청을 처리 할 수 있다. 그러므로, 하나의 서버가 장애가 나도 클라이언트는 자동으로 다른 서버로 재접속 한다.
- acks(default: 1)
- 프로듀서가 토픽 혹은 파티션의 리더에게 메시지를 보낸 후 요청을 완료하기 전 ack의 수.
- 0인 경우 : 서버로부터 완료됬다는 ack를 기다리지 않음
- 1인 경우 : 리더에 데이터가 기록되었는지만 확인
- all 또는 -1 인 경우 :: 리더 뿐만 아니라 모든 팔로워로부터 데이터 기록 응답을 기다림.
- 프로듀서가 토픽 혹은 파티션의 리더에게 메시지를 보낸 후 요청을 완료하기 전 ack의 수.
- buffer.memory(default: 33554432 byte) : 프로듀서가 카프카 서버로 데이터를 보내기 전, 잠시 대기하는 메모리 바이트.(딜레이)
- batch.size(default: 16384) : 같은 파티션으로 보내는 여러 데이터를 배치로 보낼 때 사용하는 크기.
- 정의된 batch.size 보다 메시지 크기가 클 때는 바로 해당 메시지를 보내게 된다.
- 하지만, batch가 쌓이던 중, client가 장애가 났을 시 배치내 메시지는 전달되지 않는다.
- linger.ms(default : 0, 지연없음) : 배치로 쌓인 메시지를 보내기 전, 기다리는 시간. 하지만, 배치 사이즈가 이미 꽉찼을 경우엔 해당 옵션과 상관없이 바로 메시지를 보낸다. 이 옵션은, 메시지들이 배치 크기만큼 쌓이지 않아도 해당 메시지를 보내는 최대 대기시간을 설정한다.
- max.request.size(1MB) : 최대 메시지 바이트 사이즈
- compression.type(default: none) : 데이터 압축 형식 지정
- retries(default: INT_MAX) : 전송 실패한 데이터를 다시 보내는 횟수
- 프로듀서의 acks=all과 브로커의 min.insync.replicas 옵션
- 프로듀서가 acks=all 옵션으로 브로커로 메시지 전송
- 브로커는 min.insync.replicas 옵션에 설정된 숫자 만큼 복제가 이뤄졌는지 확인 후 acks 응답을 보낸다.
'OpenSource > Kafka' 카테고리의 다른 글
5장 카프카 컨슈머 (0) | 2019.12.16 |
---|---|
3장 카프카 디자인 (0) | 2019.12.09 |
2장 카프카 설치(zookeeper 중심) (0) | 2019.12.04 |
1. 카프카란 무엇인가 (0) | 2019.12.02 |