5.2. データの持続性


メッセージ配信の確認は、メッセージが失われる可能性を最小限に抑えます。acks プロパティーが acks=all に設定されている場合、確認応答はデフォルトで有効になっています。

メッセージ配信の承認

# ...
acks=all 
1

# ...

1
acks=all を指定すると、リーダーレプリカが強制的に、特定数のフォロワーに対するメッセージを複製してから、メッセージ要求が正常に受信されたことを確認します。

acks=all 設定は、最も強力な配信保証を提供しますが、プロデューサーがメッセージを送信して確認応答を受け取るまでの待ち時間が長くなります。このような強力な保証が必要ない場合は、acks=0 または acks=1 を設定すると、配信が保証されないか、リーダーレプリカがログにレコードを書き込んだことを確認するだけになります。

acks=all を使用すると、リーダーはすべての同期レプリカがメッセージ配信を確認するまで待機します。トピックの min.insync.replicas 設定は、同期レプリカの確認応答に必要な最小数を設定します。確認応答の数には、リーダーとフォロワーが含まれます。

一般的に、以下の設定を使用して操作を開始します。

  • プロデューサーの設定:

    • acks=all (デフォルト)
  • トピックレプリケーションのブローカー設定:

    • default.replication.factor=3 (default = 1)
    • min.insync.replicas=2 (default = 1)

トピックの作成時に、デフォルトのレプリケーション係数をオーバーライドできます。また、トピック設定のトピックレベルで min.insync.replicas を上書きすることもできます。

AMQ Streams は、Kafka のマルチノードデプロイメントの例の設定ファイルを使用します。

以下の表は、リーダーレプリカを複製するフォロワーの可用性に応じてこの設定がどのように動作するかを示しています。

Expand
表5.1 フォロワーの可用性
利用可能なフォロワーと同期しているフォロワーの数確認プロデューサーがメッセージを送信できるか?

2

リーダーは、フォロワー 2 つからの確認応答を待つ

はい

1

リーダーは、フォロワー 1 つからの確認を待つ

はい

0

リーダーが例外を発生させる

いいえ

トピックのレプリケーション係数が 3 の場合は、1 つのリーダーレプリカと 2 つのフォロワーが作成されます。この設定では、1 つのフォロワーが利用できない場合にプロデューサーが継続できます。一部の遅延は、失敗したブローカーを In-Sync レプリカから削除するか、または新規リーダーの作成中に発生する可能性があります。2 つ目のフォロワーも利用できない場合、メッセージ配信は成功しません。リーダーは、メッセージ配信の成功を確認する代わりに、エラー (not enough replicas) をプロデューサーに送信します。プロデューサーは同等の例外を発生させます。retries 設定を使用すると、プロデューサーは失敗したメッセージリクエストを再送信できます。

注記

システムに障害が発生すると、バッファーの未送信データが失われる可能性があります。

Red Hat logoGithubredditYoutubeTwitter

詳細情報

試用、購入および販売

コミュニティー

会社概要

Red Hat は、企業がコアとなるデータセンターからネットワークエッジに至るまで、各種プラットフォームや環境全体で作業を簡素化できるように、強化されたソリューションを提供しています。

多様性を受け入れるオープンソースの強化

Red Hat では、コード、ドキュメント、Web プロパティーにおける配慮に欠ける用語の置き換えに取り組んでいます。このような変更は、段階的に実施される予定です。詳細情報: Red Hat ブログ.

Red Hat ドキュメントについて

Legal Notice

Theme

© 2026 Red Hat
トップに戻る