카프카 생산 - 중요한 매개 변수 구성

ACK를

이 매개 변수는 기존 파티션의 사본의 메시지를 지정된 번호로 접수되어야합니다, 다음, 생산자는이 메시지가 성공적으로 작성된 것입니다 생각합니다. 값 매개 변수 세 가지 유형의 ACK가 있습니다 (문자열 형식입니다).

  • 기본값은 1 ACK를하다 = 한 다음 메시지 프로듀서만큼 복사 파티션 리더 메시지가 성공적으로 기록을 전송, 생산 팀은 성공적인 전송을 나타내는 서버에서 성공적인 응답을 받게됩니다. 메시지는 리더로서 지도자의 사본을 쓸 수없는 경우 충돌의 사본은 새로운 지도자의 재선 프로세스의 복사본을, 생산자는 피할 메시지 손실 순서의 오류에 대한 응답을 받게됩니다, 생산자는 다시 메시지를 선택할 것이다 경우 메시지의 복사본이 지도자와 생산자와 새로 선출 된 지도자의 복사 및이 메시지에 해당하지 않았기 때문에 다른 추종자를 끌어 전에 충돌의 사본의 사본, 다음 메시지가 손실됩니다 지도자 성공적인 응답 기록됩니다. 1로 설정된 ACK들,이 실시 예는 메시지 처리량과 신뢰성 사이이다.
  • = 0의 ACK 메시지 생성자의 송신 후, 상기 서비스 팀에 대한 응답을 기다리지 않고. 예외 메시지를받지 못한 카프카에 이르는 카프카로 작성된 메시지를 전송하는 과정에서 발생하는 경우, 생산자를 알 수없는 메시지가 손실됩니다. 확인 응답이 최대 처리량을 달성 카프카 0으로 설정.
  • ACK들 = -1의 ACK = 모든 제작자 메시지 전송 후, 상기 복사본이 기록 ISR 모두 성공적으로 성공 응답 메시지는 상기 서버의 경우 일 수있는 수신 대기 할 필요가있다. -1로 설정 ACK들, 강한 안정성에 대해 달성 될 수있다. ISR 리더 만 복사 할 수 있기 때문에이 상황이 된 ACK = 1로 변질 그래서, 반드시 가장 신뢰할 수 없습니다.

대신 정수 타입, 문자열 타입 매개 변수의 ACK를 그렇게합니다. 구성 오류가 비정상적인 보도했다.

max.request.size

생산자 클라이언트의 최대 값은 메시지, 기본값 1048576B, 1메가바이트을 보낼 수 있습니다. 10으로 설정하고, 설정된 파라미터 브로커 message.max.bytes 때 변속기 20 max.request.size 할 경우 블라인드를 수정하는 것은 바람직하지이고,이 매개 변수는, 이러한 파라미터 message.max.bytes 브로커 단말기와 같은 다른 파라미터, 다수의 링크에 관한 15B 때 메시지 크기, 매개 변수는 생산자가 주어집니다.

재시 retry.backoff.ms

제조업체 시도, 기본값은 0입니다. 브로커에 대한 제조자로부터 전송 된 메시지에서 이전에 성공적으로 네트워크 지터 등 리더 선거 복사와 같은 일부 일시적인 이상에 기록 발생할 수 있습니다, 이러한 이상 현상은 종종 생산자는 재시도 구성 값, 내부 끝은 생산 수, 자기 치유 할 수있다 재시도 복구하는 것이 아니라 예외가 던져 프로듀서로, 시도는 횟수만큼 도달하면, 생산자는 재 시도를 포기하고 예외가 발생합니다. 그러나! 모든 예외가 재 시도를 통해 해결 될 수있는 것은 아닙니다, 이러한 메시지는 매개 변수가 max.request.size의 값을 초과, 너무 큽니다.

또한 트라이 파라미터 retry.backoff.ms. 기본적으로는이 시도 사이의 시간 간격, 재시 않도록 자주 무효를 설정하는 데 사용된다 (100)이다. 당신이 총 재시도 시간이 이상 복구 시간보다 큰 설정하고 포기하고 다시 시도 조기 생산을 피할 수 있도록 시도하고 retry.backoff.ms를 구성하기 전에, 최고의, 가능한 예외 복구 시간을 추정합니다.

connections.max.idele.ms

이 매개 변수는 긴 연결, 540,000 (MS)의 기본값, 9 분을 닫은 후 브레이크를 제한하는 데 사용된다.

linger.ms

이 매개 변수는 생산자 지정 ProducerBatch 시간이 기본 값이 0이면 ProducerBatch을 보내기 전에 더 많은 메시지 (ProducerRecord) 대기하는 데 사용됩니다. ProducerBatch 보내거나 할 때이 linger.ms 값보다 더 충전된다. 증가 지연 메시지 (수신 지연 소비자 측)으로 다시이 변수의 값을 증가하지만, 일부는 스루풋 향상시킬 수있다.

receive.buffer.bytes

이 파라미터는 소켓 버퍼 수신 메시지의 크기를 설정하는 데 사용되는, 디폴트 값은 32768 (B), 즉 32킬로바이트이다. 세트 -1 경우, 운영 체제의 기본값이 사용됩니다. 다른 방에서 생산자와 카프카이 매개 변수의 큰 값을 전송하는 것이 적절할 수있다.

send.buffer.bytes

이 파라미터는 소켓 전송 메시지 버퍼 크기를 설정하는 데 사용되는, 디폴트 값은 131072 (B), 즉 1백28킬로바이트이다. receive.buffer.bytes 매개 변수와 마찬가지로, 만약 세트에 -1, 다음 운영 체제의 기본 값입니다.

request.timeout.ms

이 매개 변수는 생산자 긴 대기 요청 응답을 구성하는 데 사용됩니다, 기본값은 3000 (밀리 초)입니다. 타임 아웃 요청 후 다시 시도 할 수도 있습니다. 이 매개 변수는 클라이언트 시도가 중복 확률에 의해 발생하기 때문에 메시지를 소개 할 수 값 매개 변수 브로커 최종 replica.lag.time.max.ms,보다 크게 요구된다.

enable.idempotence

멱등 열고, 기본값은 false입니다.

bootstrap.servers

브로커 클러스터 어드레스는 어플리케이션 시작 시각 경우 브로커 노드가 다운, 또한 접속 된 다른 노드에 제공 될 수 있으며, 적어도 2 추천 집합의 복수에 제공 될 수있다.

추천

출처www.cnblogs.com/luckyhui28/p/12001798.html