付録D プロデューサー設定パラメーター
key.serializer
型: クラス
のインポート: high
org.apache.kafka.common.serialization.Serializer
インターフェースを実装するキーのシリアライザークラス。value.serializer
型: クラス
のインポート: high
org.apache.kafka.common.serialization.Serializer
インターフェースを実装する値のシリアライザークラス。acks
型: 文字列
デフォルト: 1
有効な値 [ all, -1, 0, 1]
重要性: high
リクエストの完了前に、プロデューサーがリーダーを受信する必要がある確認応答。これにより、送信されるレコードの持続性が制御されます。以下の設定が許可されます。
-
acks=0
ゼロに設定すると、プロデューサーはサーバーから送信をまったく待ちません。レコードは即座にソケットバッファーに追加され、送信済みとみなされます。この場合、サーバーがレコードを受信しないように保証はありません(通常障害を把握しないため)。retries
各レコードに対して指定されたオフセットは常に-1
に設定されます。 -
acks=1
これは、リーダーがレコードをローカルログに書き込まれますが、すべてのフォロワーからの完全な確認応答を待たずに応答します。この場合、レコードの確認後、フォロワーでレプリケートされる前にリーダーがコミットに失敗しても、レコードが失われます。 -
acks=all
これは、リーダーが in-Sync レプリカの完全なセットがレコードを認識しているのを待つことを意味します。これにより、1 つ以上の In-sync レプリカが動作している限り、レコードが失われなくなります。これは、最も強固な保証です。これは acks=-1 設定と同じです。
-
bootstrap.servers
type: list
デフォルト: ""
有効な値: non-null string
Importance: high
Kafka クラスターへの最初の接続を確立するために使用するホストとポートのペアの一覧。クライアントは、ブートストラップ用に指定されたすべてのサーバーに関係なく、サーバーの完全なセットを検出するために使用される初期ホストにのみ影響します。このリストは
host1:port1,host2:port2,…
の形式にする必要があります。これらのサーバーは、クラスターの完全なメンバーシップを検出するために最初の接続に使用されるため(動的に変更される可能性がある)、この一覧にはサーバーの完全セットを含める必要はありません(サーバーがダウンした場合など)。buffer.memory
タイプ: long
デフォルト: 33554432
有効な値: [0,…]
Importance: high
プロデューサーがサーバーに送信されるまで待機するために使用できるメモリーの合計バイト。レコードがサーバーに配信可能よりも早く送信される場合、プロデューサーは
max.block.ms
のブロックされ、例外が発生します。この設定は、プロデューサーが使用するメモリーの合計のみに対応する必要がありますが、プロデューサーが使用するすべてのメモリーがバッファーに使用されるわけではありません。一部の追加メモリーは圧縮に使用されます(圧縮が有効になっている場合)。またインフライトリクエストを維持するために使用されます。
compression.type
型: 文字列
デフォルト: none
インポート: high
プロデューサーによって生成されたすべてのデータの圧縮タイプ。デフォルトは none です(圧縮なし)。有効な値は
none
、gzip
、snappy
、lz4
、またはzstd
です。圧縮はデータの完全なバッチであるため、バッチ処理の効率が悪くなるため、圧縮率(バッチ処理がより改善)に影響を及ぼします。retries
型: int
デフォルト: 2147483647
有効値: [0,…,2147483647]
Importance: high
値をゼロに設定すると、クライアントは、一時的なエラーで失敗したレコードを再送信します。この再試行は、クライアントがエラーの受信時にレコードを再入力する場合とは異なることに注意してください。
max.in.flight.requests.per.connection
を 1 に設定せずに再試行を許可すると、レコードの順序が変更する可能性があります。これは、2 つのバッチで 1 つのバッチに送信され、1 番目に再試行されるため、2 番目のバッチのレコードが最初に表示される可能性があります。確認が成功する前に、delivery.timeout.ms
期限切れで設定されるタイムアウトが最初に設定されると、再試行の数が使い切られる前にリクエストも失敗することに注意してください。通常は、この設定を未設定のままにし、代わりにdelivery.timeout.ms
を使用して再試行処理を制御することが推奨されます。ssl.key.password
タイプ: password
デフォルト: null
インポート: high
キーストアファイルまたは 'ssl.keystore.key' に指定された PEM キーのパスワード。これは、双方向認証が設定されている場合のみクライアントに必要です。
ssl.keystore.certificate.chain
タイプ: password
デフォルト: null
インポート: high
'ssl.keystore.type' により指定された形式の証明書チェーン。デフォルトの SSL エンジンファクトリーは、X.509 証明書の一覧で PEM 形式のみをサポートします。
ssl.keystore.key
タイプ: password
デフォルト: null
インポート: high
'ssl.keystore.type' により指定された形式の秘密鍵。デフォルトの SSL エンジンファクトリーは、PKCS#8 鍵を持つ PEM 形式のみをサポートします。鍵を暗号化する場合は、'ssl.key.password' を使用して鍵のパスワードを指定する必要があります。
ssl.keystore.location
type: string
デフォルト: null
Importance: high
キーストアファイルの場所。これはクライアント用にオプションであり、クライアントの双方向認証に使用できます。
ssl.keystore.password
タイプ: password
デフォルト: null
インポート: high
キーストアファイルのストアパスワード。これはクライアントでオプションであり、'ssl.keystore.location' が設定されている場合にのみ必要です。キーストアパスワードは PEM 形式ではサポートされません。
ssl.truststore.certificates
タイプ: password
デフォルト: null
インポート: high
'ssl.truststore.type' によって指定された形式の信頼済み証明書。デフォルトの SSL エンジンファクトリーは、X.509 証明書で PEM 形式のみをサポートします。
ssl.truststore.location
type: string
デフォルト: null
Importance: high
トラストストアファイルの場所。
ssl.truststore.password
タイプ: password
デフォルト: null
インポート: high
トラストストアファイルのパスワード。パスワードが設定されていないと、設定したトラストストアファイルが使用されますが、整合性チェックは無効になります。トラストストアパスワードは PEM 形式ではサポートされません。
batch.size
型: int
デフォルト: 16384
有効な値: [0,…]
Importance: medium
複数のレコードが同じパーティションに送信されるたびに、プロデューサーはレコードをより少ないリクエストにバッチ処理を試みます。これは、クライアントとサーバーの両方でパフォーマンスに役立ちます。この設定では、デフォルトのバッチサイズをバイト単位で制御します。
このサイズを超えるレコードのバッチ試行は行われません。
ブローカーに送信されるリクエストには、複数のバッチが含まれます。パーティションごとに、データの送信が可能となります。
バッチサイズが小さいと共通し、スループットを減らすことができます(バッチサイズがゼロの場合はバッチ処理を完全に無効にします)。非常に大きなバッチサイズは、追加のレコードの分析で指定のバッチサイズのバッファーを常に割り当てているため、ビットをより適切に使用できます。
client.dns.lookup
type: string
デフォルト: use_all_dns_ips
有効な値: [default, use_all_dns_ips, resolve_canonical_bootstrap_servers_only]
Importance: medium
クライアントが DNS ルックアップをどのように使用するかを制御します。
use_all_dns_ips
に設定すると、正常な接続が確立されるまで、返された各 IP アドレスに接続します。切断後、次の IP が使用されます。すべての IP を一度使用した後、クライアントはホスト名から IP を再度解決します(JVM と OS キャッシュ DNS 名の検索の両方)。resolve_canonical_bootstrap_servers_only
に設定すると、各ブートストラップアドレスを正規名のリストに解決します。ブートストラップフェーズ後、これはuse_all_dns_ips
と同じように動作します。default
(非推奨)に設定すると、ルックアップが複数の IP アドレスを返しても、ルックアップが返した最初の IP アドレスへの接続を試行します。client.id
型: 文字列
デフォルト: ""
Importance: medium
要求の実行時にサーバーに渡す id 文字列。これの目的は、サーバー側の要求ロギングに論理アプリケーション名を含めることで、ip/port 以外の要求のソースを追跡できます。
connections.max.idle.ms
タイプ: long
デフォルト: 540000(9 分)
Importance: medium
この設定によって指定されるミリ秒数の後にアイドル状態の接続を閉じます。
delivery.timeout.ms
型: int
デフォルト: 120000(2 分)
有効な値: [0,…]
Importance: medium
send()
の呼び出しが返った後、または失敗を報告する時間の上限。これにより、送信前にレコードが遅延する合計時間、ブローカーから待機の確認時間(予想される場合)、および再試行可能な送信失敗を許可する時間を制限します。復旧不可能なエラーが発生した場合、プロデューサーはこの設定よりも前にレコード送信の失敗を報告する可能性があります。再試行が使い切られるか、以前の配信有効期限に達したバッチにレコードが追加されます。この設定の値は、request.timeout.ms
およびlinger.ms
の合計以上である必要があります。linger.ms
タイプ: long
デフォルト: 0
有効な値: [0,…]
Importance: medium
プロデューサーは、リクエスト間で到達するすべてのレコードを 1 つのバッチリクエストにまとめます。通常、これはレコードの送信速度よりも早く到着する場合のみ発生します。ただし、状況によっては、クライアントがモードレートであってもリクエストの数を減らす必要がある場合があります。この設定は、送信をバッチ処理できるようにプロデューサーが待機するレコードを即座に送信するのではなく、少数の人為遅延を追加することで行います。これは TCP の Nagle アルゴリズムに似ています。この設定は、バッチ処理の遅延の上限です。この設定に関係なく
batch.size
worthth のレコードを取得した後、このパーティションに対してこのパーティションに累積されたバイト数より少ない場合は、レコードが表示されるまで待機するために指定した時間に 'linger' になります。この設定は、デフォルトで 0(遅延なし)です。たとえば、linger.ms=5
を設定すると、送信されるリクエスト数を減らすことができますが、負荷がない場合にレコードに送信されるレイテンシーが最大 5ms に追加されます。max.block.ms
型: long
デフォルト: 60000(1 分)
有効な値: [0,…]
Importance: medium
この設定では、
KafkaProducer’s `send()
、partitionsFor()
、initTransactions()
、sendOffsetsToTransaction()
、commitTransaction()
およびabortTransaction()
メソッドがブロックされる期間を制御します。send()
このタイムアウトの場合、メタデータフェッチとバッファーの割り当ての両方を待つ合計時間をバインドします(ユーザーが指定したシリアライザーのブロックまたはパーティションャーはこのタイムアウトに対してカウントされません)。partitionsFor()
の場合、このタイムアウトによりメタデータが使用できない場合に費やされた時間がバインドされます。トランザクション関連のメソッドは常にブロックされますが、トランザクションコーディネーターが検出されなかったり、タイムアウト内で応答しなかった場合にはタイムアウトする場合があります。max.request.size
型: int
デフォルト: 1048576
有効値: [0,…]
インポート中: メディア
要求の最大サイズ(バイト単位)。この設定により、Huge Page が送信しないように、プロデューサーが単一のリクエストに送信するように、レコードバッチの数を制限します。これは、圧縮されていない最大レコードバッチサイズに上限となります。サーバーにはレコードバッチサイズ(圧縮が有効化されている場合)には独自の上限があり、これとは異なる場合があります。
partitioner.class
型: クラス
デフォルト: org.apache.kafka.clients.producer.internals.DefaultPartitioner
Importance: medium
org.apache.kafka.clients.producer.Partitioner
インターフェースを実装する partitioner クラス。receive.buffer.bytes
型: int
デフォルト: 32768(32 kibibytes)
有効な値 [ -1,…]
Importance: medium
データの読み取り時に使用する TCP 受信バッファー(SO_RCVBUF)のサイズ。値が -1 の場合、OS のデフォルトが使用されます。
request.timeout.ms
型: int
デフォルト: 30000(30 秒)
有効な値: [0,…]
Importance: medium
設定は、クライアントがリクエストの応答を待つ最大時間を制御します。タイムアウトが経過する前にレスポンスが受信されなかった場合、再試行が行われるとクライアントはリクエストを再送信します。これは、不要なプロデューサーの再試行回数によりメッセージの重複を減らすために、
replica.lag.time.max.ms
(ブローカー設定)よりも大きくする必要があります。sasl.client.callback.handler.class
型: クラス
デフォルト: null
Importance: medium
AuthenticateCallbackHandler インターフェースを実装する SASL クライアントコールバックハンドラークラスの完全修飾名。
sasl.jaas.config
タイプ: password
デフォルト: null
のインポート: medium
JAAS 設定ファイルで使用される形式で SASL 接続の JAAS ログインコンテキストパラメーター。JAAS 設定ファイルの形式が ここ に記載されています。値の形式は以下のとおりです。「loginModuleClass controlFlag (optionName=optionValue)*;」.ブローカーの場合、小文字でリスナーのプレフィックスおよび SASL メカニズム名を付ける必要があります。例: listener.name.sasl_ssl.scram-sha-256.sasl.jaas.config=com.example.ScramLoginModule required;
sasl.kerberos.service.name
type: string
デフォルト: null
Importance: medium
Kafka が実行される Kerberos プリンシパル名。これは、Kafka の JAAS 設定または Kafka の設定で定義できます。
sasl.login.callback.handler.class
型: クラス
デフォルト: null
Importance: medium
AuthenticateCallbackHandler インターフェースを実装する SASL ログインコールバックハンドラークラスの完全修飾名。ブローカーの場合、ログインコールバックハンドラーの設定には、小文字でリスナーのプレフィックスおよび SASL メカニズム名を付ける必要があります。たとえば、listener.name.sasl_ssl.scram-sha-256.sasl.login.callback.handler.class=com.example.CustomScramLoginCallbackHandler です。
sasl.login.class
型: クラス
デフォルト: null
Importance: medium
ログインインターフェースを実装するクラスの完全修飾名。ブローカーの場合、ログイン設定の前にリスナー接頭辞と SASL メカニズム名を付ける必要があります。For example, listener.name.sasl_ssl.scram-sha-256.sasl.login.class=com.example.CustomScramLogin.
sasl.mechanism
type: string
デフォルト: GSSAPI
Importance: medium
クライアント接続に使用される SASL メカニズム。これは、セキュリティープロバイダーを利用できるメカニズムがある場合があります。GSSAPI はデフォルトのメカニズムです。
security.protocol
type: string
デフォルト: PLAINTEXT
Importance: medium
ブローカーと通信するために使用されるプロトコル。有効な値は PLAINTEXT、SSL、SASL_PLAINTEXT、SASL_SSL です。
send.buffer.bytes
型: int
デフォルト: 131072(128 kibibytes)
有効な値 [ -1,…]
Importance: medium
データ送信時に使用する TCP 送信バッファー(SO_SNDBUF)のサイズ。値が -1 の場合、OS のデフォルトが使用されます。
socket.connection.setup.timeout.max.ms
タイプ: long
デフォルト: 127000(127 秒)
Importance: medium
ソケット接続が確立されるまでクライアントが待機する最大時間。接続セットアップのタイムアウトは、この最大値までの連続する接続障害ごとに指数関数的に増加します。接続ストームを回避するために、0.2 のランダム化係数はタイムアウトに適用されます。これにより、計算値の 20% 未満の 20% の範囲がランダムな範囲になります。
socket.connection.setup.timeout.ms
タイプ: long
デフォルト: 10000(10 秒)
のインポート中: medium
クライアントがソケット接続を確立するのを待つ時間。タイムアウトが経過する前にコネクションがビルドされない場合、クライアントはソケットチャネルを閉じます。
ssl.enabled.protocols
type: list
デフォルト: TLSv1.2,TLSv1.3
Importance: medium
SSL 接続に対して有効なプロトコル一覧。Java 11 以降、TLSv1.2' の場合、デフォルトは 'TLSv1.2,TLSv1.3' です。Java 11 のデフォルト値は、クライアントとサーバーは、TLSv1.2 へのサポートとフォールバックの両方をサポートする場合は、TLSv1.3 が優先されます(両方が TLSv1.2 をサポートしていることを前提とします)。ほとんどの場合、このデフォルト設定は問題ありません。
ssl.protocol
の設定に関するドキュメントも参照してください。ssl.keystore.type
型: string
デフォルト: JKS
Importance: medium
キーストアファイルのファイル形式。これはクライアントでオプションです。
ssl.protocol
型: 文字列
デフォルト: TLSv1.3
のインポート: medium
SSLContext の生成に使用される SSL プロトコル。Java 11 以降、'TLSv1.2' の場合、デフォルトは 'TLSv1.3' です。この値は、ほとんどのユースケースで問題ありません。最新の JVM の許可される値は 'TLSv1.2' および 'TLSv1.3' です。'TLS'、'TLSv1.1'、'SSL'、'SSLv2'、および 'SSLv3' は古い JVM でサポートされていますが、既知のセキュリティー脆弱性により使用は推奨されません。この設定と 'ssl.enabled.protocols' のデフォルト値で、サーバーが 'TLSv1.3' に対応していない場合は、クライアントは 'TLSv1.2' にダウングレードします。この設定を 'TLSv1.2' に設定すると、ssl.enabled.protocols の値のいずれかであった場合でも、クライアントは 'TLSv1.3' を使用しません。また、サーバーは 'TLSv1.3' のみをサポートします。
ssl.provider
type: string
デフォルト: null
Importance: medium
SSL 接続に使用されるセキュリティープロバイダーの名前。デフォルト値は JVM のデフォルトセキュリティープロバイダーです。
ssl.truststore.type
型: string
デフォルト: JKS
Importance: medium
トラストストアファイルのファイル形式。
enable.idempotence
型: ブール値
デフォルト: false
インポート機能: low
'true' に設定すると、プロデューサーは各メッセージの 1 つのコピーがストリームに書き込まれるようにします。'false' の場合、ブローカーの失敗によりプロデューサーを再試行する場合、ストリームに再試行されたメッセージの重複が発生する可能性があります。べき等を有効にするには、
max.in.flight.requests.per.connection
は 5 以下でなければなりません。retries
は 0 よりも大きい必要があり、acks
は「all」にする必要があります。これらの値がユーザーによって明示的に設定されていない場合は、適切な値が選択されます。互換性のない値が設定されている場合、ConfigException
が発生します。interceptor.classes
type: list
デフォルト: ""
有効な値: non-null string
Importance: low
インターセプターとして使用するクラスの一覧。
org.apache.kafka.clients.producer.ProducerInterceptor
インターフェースを実装することで、Kafka クラスターにパブリッシュされる前にプロデューサーによって受信されるレコードをインターセプト(およびその他)することができます。デフォルトではインターセプターはありません。max.in.flight.requests.per.connection
型: int
デフォルト: 5
有効な値 [ 1,…]
Importance: low
ブロッキング前にクライアントが単一の接続に送信するリクエストの最大数。この設定が 1 よりも大きいよう設定され、送信に失敗した場合には、再試行によってメッセージの順序が繰り返されるリスク(再試行が有効になっている場合など)が発生することに注意してください。
metadata.max.age.ms
タイプ: long
デフォルト: 300000(5 分)
有効な値: [0,…]
Importance: low
パーティションリーダーを変更して、新しいブローカーまたはパーティションを正常に検出していない場合でも、メタデータの更新を強制する期間(ミリ秒単位)。
metadata.max.idle.ms
タイプ: long
デフォルト: 300000(5 分)
有効な値: [5000,…]
Importance: low
プロデューサーがアイドル状態のトピックのメタデータをキャッシュする期間を制御します。トピックが最後にメタデータのアイドル時間よりも経過した時間が経過する場合、トピックのメタデータは記憶され、次にメタデータフェッチリクエストが強制されます。
metric.reporters
type: list
デフォルト: ""
有効な値: non-null string
Importance: low
メトリクスレポーターとして使用するクラスの一覧。
org.apache.kafka.common.metrics.MetricsReporter
インターフェースを実装すると、新しいメトリクス作成の通知を受信するクラスにプラグインすることができます。JmxReporter は JMX 統計を登録するために常に含まれます。metrics.num.samples
型: int
デフォルト: 2
有効な値 [ 1,…]
Importance: low
メトリックの計算に維持されるサンプル数。
metrics.recording.level
タイプ: string
デフォルト: INFO
有効な値: [INFO、DEBUG, TRACE]
重要度: low
メトリクスの記録レベル。
metrics.sample.window.ms
型: long
デフォルト: 30000(30 秒)
有効な値: [0,…]
Importance: low
メトリクスサンプルが計算される期間。
reconnect.backoff.max.ms
型: long
デフォルト: 1000(1 秒)
有効な値: [0,…]
重要: low
接続に繰り返し失敗したブローカーに再接続するまで待つ最大時間(ミリ秒単位)。指定された場合、ホストごとのバックオフは、連続した接続失敗ごとに指数関数的に増加します。この最大値までです。バックオフの増加を算出したら、接続の量を回避するために 20% random jitter が追加されます。
reconnect.backoff.ms
型: long
デフォルト: 50
有効な値: [0,…]
Importance: low
指定のホストに再接続を試みる前に待機する時間のベース時間。これにより、密接ループでホストに繰り返し接続できなくなります。このバックオフは、クライアントがブローカーに試行するすべての接続に適用されます。
retry.backoff.ms
型: long
デフォルト: 100
有効な値: [0,…]
Importance: low
失敗したリクエストを特定のトピックパーティションに再試行するまで待つ期間。これにより、一部の障害シナリオにおいて、密接ループでリクエストを繰り返し送信しないようにします。
sasl.kerberos.kinit.cmd
型: 文字列
デフォルト: /usr/bin/kinit
重要性: low
Kerberos kinit コマンドパス。
sasl.kerberos.min.time.before.relogin
タイプ: long
デフォルト: 60000
インポート: low
更新試行間のログインスレッドスリープ時間。
sasl.kerberos.ticket.renew.jitter
型:
デフォルト: 0.05
インポート: low
更新時間にランダムなジッターが追加されたパーセンテージ。
sasl.kerberos.ticket.renew.window.factor
型:
デフォルト: 0.8
インポート: low
ログインスレッドは、指定のウィンドウ係数からチケットの有効期限に達するまでスリープされます。この期間が経過するとチケットの更新が試行されます。
sasl.login.refresh.buffer.seconds
タイプ: 短い
デフォルト: 300
有効な値: [0,…,3600]
Importance: low
認証情報を更新するときの認証情報の有効期限(秒単位)。そうでなければ、更新がバッファー秒数よりも期限切れになり、可能な限り多くのバッファー時間を維持するよう更新が行われます。法人の値は 0 から 3600(1 時間)で設定されています。値が指定されていない場合には、デフォルト値の 300(5 分)が使用されます。この値と sasl.login.refresh.min.period.seconds は、合計が認証情報の残りの有効期間を超えた場合に無視されます。現在、OAUTHBEARER にのみ適用されます。
sasl.login.refresh.min.period.seconds
タイプ: 短い
デフォルト: 60
有効な値 [ 0,…,900]
Importance: low
ログイン更新スレッドで認証情報を更新するまで待つ必要最小限の時間(秒単位)。法人の値は 0 から 900(15 分)で設定されています。値が指定されていない場合には、デフォルト値の 60(1 分)が使用されます。この値と sasl.login.refresh.buffer.seconds は、その合計が認証情報の残りの有効期間を超える場合に無視されます。現在、OAUTHBEARER にのみ適用されます。
sasl.login.refresh.window.factor
型:
デフォルト: 0.8
有効な値 [ 0.5,…,1.0]
Importance: low
ログイン更新スレッドは、認証情報の有効期間に比べ、指定されたウィンドウ係数に達するまでスリープ状態になり、クレデンシャルの更新を試みます。法人の値は 0.5(50%)と 1.0(100%)の範囲になります。値が指定されていない場合には、デフォルト値の 0.8(80%)が使用されます。現在、OAUTHBEARER にのみ適用されます。
sasl.login.refresh.window.jitter
型:
デフォルト: 0.05
有効な値 [ 0.0,…,0.25]
Importance: low
ログイン更新スレッドのスリープ時間に追加される認証情報の有効期間に対して、ランダムなジッターの最大量。法人の値は 0 から 0.25(25%)で囲まれています。値が指定されていない場合には、デフォルト値の 0.05(5%)が使用されます。現在、OAUTHBEARER にのみ適用されます。
security.providers
型: 文字列
デフォルト: null
インポート: low
セキュリティーアルゴリズムを実装するプロバイダーを返す、設定可能な作成者クラスの一覧。これらのクラスは
org.apache.kafka.common.security.auth.SecurityProviderCreator
インターフェースを実装する必要があります。ssl.cipher.suites
type: list
デフォルト: null
インポート: low
暗号化スイートの一覧。これは、TLS または SSL ネットワークプロトコルを使用してネットワーク接続のセキュリティー設定をネゴシエートするために使用される認証、暗号化、MAC、鍵交換アルゴリズムの名前付きの組み合わせです。デフォルトでは、利用可能なすべての暗号スイートがサポートされます。
ssl.endpoint.identification.algorithm
型: 文字列
デフォルト: https
インポート: low
サーバー証明書を使用してサーバーのホスト名を検証するエンドポイント識別アルゴリズム。
ssl.engine.factory.class
型: クラス
デフォルト: null
のインポート: low
SSLEngine オブジェクトを提供するために、org.apache.kafka.common.security.auth.SslEngineFactory タイプのクラス。Default value is org.apache.kafka.common.security.ssl.DefaultSslEngineFactory.
ssl.keymanager.algorithm
型: 文字列
デフォルト: SunX509
インポート: low
SSL 接続のキーマネージャーファクトリーによって使用されるアルゴリズム。デフォルト値は、Java 仮想マシンに設定されたキーマネージャーファクトリーアルゴリズムです。
ssl.secure.random.implementation
型: 文字列
デフォルト: null
インポート: low
SSL 暗号操作に使用する SecureRandom PRNG 実装。
ssl.trustmanager.algorithm
タイプ: 文字列
デフォルト: PKIX
インポート: low
SSL 接続のトラストマネージャーファクトリーによって使用されるアルゴリズム。デフォルト値は、Java 仮想マシンに設定されたトラストマネージャーファクトリーアルゴリズムです。
transaction.timeout.ms
型: int
デフォルト: 60000(1 分)
Importance: low
トランザクションコーディネーターがプロデューサーからトランザクションステータスの更新を待機する最大時間(ミリ秒単位)。この値が継続中のトランザクションをプロアクティブに中止します。この値がブローカーの transaction.max.timeout.ms 設定よりも大きい場合、リクエストは
InvalidTxnTimeoutException
エラーを出して失敗します。transactional.id
型: 文字列
デフォルト: null
有効な値: non-empty string
Importance: low
トランザクション配信に使用する TransactionalId。これにより、新しいトランザクションを開始する前に、クライアントが同じ TransactionalId を使用するトランザクションを確実に完了させるため、複数のプロデューサーセッションにまたがる信頼性セマンティクスが可能になります。TransactionalId が指定されていない場合、プロデューサーはべき等配信に制限されます。TransactionalId が設定されている場合、
enable.idempotence
は暗黙的に使用されます。デフォルトでは TransactionId は設定されません。そのため、トランザクションは使用できません。デフォルトでは、トランザクションには、実稼働の推奨設定である 3 つ以上のブローカーで構成されるブローカーで構成されるクラスターが必要なことに注意してください。開発の場合は、ブローカーtransaction.state.log.replication.factor
を調整してこれを変更できます。