티스토리 뷰

OpenSource/Kafka

4장 카프카 프로듀서

개발자22 2019. 12. 16. 12:12

프로듀서 주요 옵션

  • bootstrap.servers

    • 카프카 클러스터는 기본적으로 마스터가 없는 구조이므로 클러스터 내 모든 서버가 클라이언트의 요청을 처리 할 수 있다. 그러므로, 하나의 서버가 장애가 나도 클라이언트는 자동으로 다른 서버로 재접속 한다.
  • acks(default: 1)
    • 프로듀서가 토픽 혹은 파티션의 리더에게 메시지를 보낸 후 요청을 완료하기 전 ack의 수. 
      • 0인 경우 : 서버로부터 완료됬다는 ack를 기다리지 않음
      • 1인 경우 : 리더에 데이터가 기록되었는지만 확인
      • all 또는 -1 인 경우 :: 리더 뿐만 아니라 모든 팔로워로부터 데이터 기록 응답을 기다림.
  • 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
공지사항
최근에 올라온 글
최근에 달린 댓글
Total
Today
Yesterday
링크
«   2024/11   »
1 2
3 4 5 6 7 8 9
10 11 12 13 14 15 16
17 18 19 20 21 22 23
24 25 26 27 28 29 30
글 보관함