カフカプロデューサー - 重要なパラメータの設定

ACKを

このパラメータは、生産者がこのメッセージが成功するために書かれていると思うだろう、古いパーティションのコピーのメッセージ指定された数によって受信されなければなりません。3種類のACKパラメータ値は(文字列型である)があります。

  • デフォルト値は1のACK = 1である、長い正常に書き込まれたコピーパーティションリーダーメッセージ、生産面などとして、メッセージプロデューサを送信送信成功を示す、サーバから正常な応答を受信します。メッセージは、そのようなリーダークラッシュのコピーを、新しいリーダーの再選としてリーダー、プロセスのコピーのコピーを書くことができない場合は、プロデューサーには、メッセージの損失を避けるために、エラーへの応答を受け取ることになります生産者は再メッセージを選択します;もしメッセージのコピーがリーダーとプロデューサー、新たに選出されたリーダーのコピーとは、このメッセージに対応していませんでしたので、他の追従を引っ張って前にクラッシュのコピーのコピーは、その後、メッセージは失われますリーダーに成功した応答書かれています。1に設定されたACK、本実施形態では、メッセージのスループットと信頼性との間です。
  • ACK = 0メッセージプロデューサの送信後、サービス側への応答を待たず。例外はカフカで書かれたメッセージを送信するために、プロセスから発生した場合は、カフカにつながるが、メッセージは表示されませんでした、そしてプロデューサーが知られていない、メッセージが失われます。0に設定AKCSは、最大スループットを達成カフカ。
  • ACK = -1またはメッセージ送信後のACK =すべてのプロデューサ、すべてのコピーを待つ必要があるが正常ISR書かれている成功した応答メッセージがサーバの場合であってもよい受け取ります。最強の信頼性に対して-1に設定ACKは、達成することができます。ISRリーダーのみコピーすることができるので、しかし、この状況はACKを= 1に縮退だから、必ずしも最も信頼性の高いではありません。

ACKが、パラメータの代わりに、整数型、文字列型であることに留意されたいです。設定エラーには異常報告しました。

max.request.size

プロデューサークライアントの最大値は、メッセージ、デフォルト値1048576B、1メガバイトを送ることができます。ブラインドを変更することは推奨されていない場合、送信は、このパラメータは、10に設定され、そして20 max.request.sizeするように設定されたパラメータブローカmessage.max.bytes場合、そのようなパラメータmessage.max.bytesブローカー端末などの他のパラメータの数の結合に関する15Bメッセージサイズ、パラメータは、プロデューサを説明します。

再試行とretry.backoff.ms

メーカーリトライ、デフォルト値は0です。ブローカに生産者から送られたメッセージに前にうまくそのようなネットワーク・ジッタ等リーダー選挙コピーとして、いくつかの一時的な異常に書き込ま発生し、これらの異常は、多くの場合、生産者は、再試行の設定値、内部端はによって生成されることができ、自己治癒することができ再試行は、回復するのではなく、例外スロープロデューサーであることを、再試行が設定回数に達した場合、生産者が再試行を放棄し、例外がスローされます。しかし!すべての例外は、再試行によって解決することができない、このようなメッセージは、パラメータmax.request.sizeの値を超えて、大きすぎます。

さらに、リトライパラメータretry.backoff.ms。デフォルトでは、再試行間の時間間隔、再試行の回避頻繁に無効を設定するために使用され、100です。あなたは総再試行時間が異常回復時間よりも大きくなる設定とあきらめて再試行してくださいするのは時期尚早の生産を避けることができるので、再試行してretry.backoff.msを設定する前に、最高のは、可能性のある例外の回復時間を推定します。

connections.max.idele.ms

このパラメータは9分、長い接続を閉じた後540000(MS)のデフォルト値をブレーキを制限するために使用されます。

linger.ms

このパラメータは、プロデューサー指定ProducerBatch時間は、デフォルト値が0の場合ProducerBatchを送信する前に複数のメッセージ(ProducerRecord)を待つために使用されています。ProducerBatchは送信されたりする場合は、linger.ms値以上のために満たされています。増加は、遅延メッセージ(受信遅延消費者側)に戻り、このパラメータの値を増加させるが、いくつかは、スループット向上させることができます。

receive.buffer.bytes

このパラメータは、ソケット・バッファ・メッセージを受信するのサイズを設定するために使用され、デフォルト値は32768(B)、すなわち、32キロバイトです。-1に設定すると、オペレーティングシステムのデフォルト値が使用されています。別の部屋でプロデューサーとカフカ場合は、このパラメータの大きな値を転送することが適切であろう。

send.buffer.bytes

このパラメータは、ソケットの送信メッセージバッファのサイズを設定するために使用され、デフォルト値は131072(B)、すなわち、128キロバイトです。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