5.2. メッセージの保持
メッセージ保持ポリシーでは、メッセージが Kafka ブローカーに保存される期間を定義します。これは、時間、パーティションサイズ、またはその両方に基づいて定義できます。
たとえば、メッセージを保持されるように定義できます。
- 7 日間
- ペーションが 1 GB のメッセージがあるまで。制限に達すると、最も古いメッセージが削除されます。
- 7 日の場合、または 1 GB の上限に達するまで。最初に使用する制限。
Kafka ブローカーはメッセージをログセグメントに保存します。保持ポリシーを超過するメッセージは、新規ログコレクターが作成される場合にのみ削除されます。新しいログセグメントは、以前のログセグメントサイズが設定済みのログセグメントサイズを超える際に作成されます。また、ユーザーは定期的に新しいセグメントを作成するよう要求することもできます。
さらに、Kafka ブローカーはコンパクトなポリシーをサポートします。
compacted ポリシーのあるトピックでは、ブローカーは常にキーごとに最後のメッセージのみを保持します。同じキーを持つ古いメッセージはパーティションから削除されます。圧縮処理は定期的に実行されるアクションなので、同じキーを持つ新しいメッセージがパーティションに送信されるとすぐには実行されません。代わりに、古いメッセージが削除されるまで時間がかかる場合があります。
メッセージ保持設定オプションの詳細については、「トピックの設定」 を参照してください。