아무거나

프로듀서 주요 옵션 본문

Infra/kafka

프로듀서 주요 옵션

전봉근 2020. 7. 31. 00:57
반응형

프로듀서 주요 옵션

  • bootstrap.servers: 카프카 클러스터에 연결을 하기 위한 호스트와 포트정보를 입력 ex) 127.0.0.1:9092,127.0.0.2:9092 ...
  • acks: 프로듀서가 카프카 토픽의 리더에게 메세지를 보낸 후 요청을 완료하기 전 ack(승인)의 수 해당 옵션의 수가 작으면 성능이 좋지만 메세지 손실 가능성이 있고, 반대로 수가 크면 성능이 좋지 않지만 메세지 손실 가능성도 줄어들거나 없어진다.
    • acks=0: 프로듀서는 서버로부터 어떠한 ack도 기다리지 않습니다. 그러므로 메세지 손실 가능성이 있으며 결과를 알지 못하므로 재요청 설정도 적용되지 않는다.
    • acks=1: 리더는 데이터를 기록하지만, 모든 팔로워는 확인하지 않는다. 즉, 일부 데이터의 손실이 발생할 수 있다.
    • acks=all or acks=-1: 리더는 ISR의 팔로워로부터 데이터에 대한 ack를 기다린다. 하나의 팔로워가 있는 한 데이터는 손실되지 않으며, 데이터 무손실에 대해 가장 강력하게 보장한다.
  • buffer.memory: 프로듀서가 카프카 서버로 데이터를 보내기 위해 잠시 대기(배치 전송이나 딜레이 등)할 수 있는 전체 메모리 바이트
  • compression.type: 프로듀서가 데이터를 압축해서 보낼 때 어떤 타입으로 압축할지 정할 수 있다. ex) none, gzip, snappy, lz4 .. 다양한 포맷 선택 가능
  • retries: 일시적인 오류로 인해 전송에 실패한 데이터를 다시 보내게 된다.
  • batch.size: 배치 크기 바이트 단위를 조정 (고가용성이 필요한 메세지의 경우라면 배치 사이즈를 주지 않는 것도 하나의 방법임)
  • linger.ms: 배치형태의 메세지를 보내기 전에 추가적인 메세지들을 위해 기다리는 시간을 조정
    • linger.ms=0: 기본값(=지연없음)
    • linger.ms이 0보다 클 경우: 지연 시간은 조금 발생하지만 처리량이 좋아짐
  • max.request.size: 프로듀서가 보낼 수 있는 최대 메세지 바이트 사이즈 (기본값은 1MB)
반응형

'Infra > kafka' 카테고리의 다른 글

컨슈머 주요 옵션  (0) 2020.07.31
Zookeeper 및 Kafka 설치(Centos7) - 3  (0) 2020.07.25
Zookeeper 및 Kafka 설치(Centos7) - 2  (0) 2020.07.07
Zookeeper 및 Kafka 설치(Centos7) - 1  (0) 2020.06.27
Comments