5장. Kafka 생산자 구성 튜닝
특정 사용 사례에 맞는 선택적 속성과 함께 기본 생산자 구성을 사용합니다.
처리량을 최대화하도록 구성을 조정하면 대기 시간이 증가하거나 그 반대의 경우도 발생할 수 있습니다. 필요한 균형을 조정하려면 생산자 구성을 실험하고 튜닝해야 합니다.
5.1. 기본 생산자 구성
모든 프로듀서에 연결 및 직렬화기 속성이 필요합니다. 일반적으로 추적을 위해 클라이언트 ID를 추가하고 생산자에 압축을 사용하여 요청의 배치 크기를 줄이는 것이 좋습니다.
기본 생산자 구성에서는 다음을 수행합니다.
- 파티션의 메시지 순서는 보장되지 않습니다.
- 브로커에 도달하는 메시지의 승인이 승인한다고 보장되는 것은 아닙니다.
기본 생산자 구성 속성
# ... bootstrap.servers=localhost:9092 1 key.serializer=org.apache.kafka.common.serialization.StringSerializer 2 value.serializer=org.apache.kafka.common.serialization.StringSerializer 3 client.id=my-client 4 compression.type=gzip 5 # ...
- 1
- (필수) Kafka 브로커의 host:port 부트스트랩 서버 주소를 사용하여 Kafka 클러스터에 연결할 생산자를 지정합니다. 생산자는 주소를 사용하여 클러스터의 모든 브로커를 검색하고 연결합니다. 쉼표로 구분된 목록을 사용하여 서버가 중단된 경우 두 개 또는 세 개의 주소를 지정하지만 클러스터의 모든 브로커 목록을 제공할 필요는 없습니다.
- 2
- (필수) 각 메시지의 키를 브로커로 보내기 전에 바이트로 변환하는 직렬라이저입니다.
- 3
- (필수) 각 메시지의 값을 브로커로 보내기 전에 바이트로 변환하는 직렬라이저입니다.
- 4
- (선택 사항) 로그 및 요청의 소스를 식별하는 데 사용되는 클라이언트의 논리 이름입니다.
- 5
- (선택 사항) 전송되고 압축된 형식으로 저장된 메시지를 압축하는 코드c이며 소비자에게 도달할 때 압축을 풉니다. 압축은 처리량을 개선하고 스토리지의 부하를 줄이는 데 유용하지만 압축 또는 압축 해제 비용이 금지될 수 있는 짧은 대기 시간 애플리케이션에 적합하지 않을 수 있습니다.