Translated message

A translation of this page exists in English.

Red Hat OpenShift Streams for Apache Kafka のサービスの制限

更新 -

リソースの制限は、Red Hat OpenShift Streams for Apache Kafka 全体に適用されます。これらの制限を超えるサービスの使用は、Red Hat による是正措置の対象となります。詳細については、次の 利用規約 を参照してください。

Red Hat は、サービス制限を超えてアプリケーションが抑制されている場合に、モニター API を使用してアラートを出すことをお勧めします。アラートが表示された場合は、本番インスタンスのサービス制限表に示されているガイドラインに従ってください。

ストリーミングユニットの制限

OpenShift Streams for Apache Kafka では、1 または 2 ストリーミングユニットのサイズの Kafka インスタンスを作成できます。サイズが大きいインスタンスは、より高い負荷を処理でき、より多くのイベントを処理でき、より多くのストレージを持ち、より多くのクライアントと接続を処理できます。現時点では、ストリーミングユニットが 1 つを超える Kafka インスタンスは、テクノロジープレビューとしてのみ利用できます。

特定のストリーミングユニット値に対して、容量は Kafka インスタンスのさまざまなディメンションの制限によって適用されます。これらの制限には、Red Hat に連絡することで増やすことができるもの、固定された制限で超えられないもの、動的で他のディメンションの使用レベルに依存するものがあります。ディメンションのアプリケーションを最適化し、他のディメンションの制限を超えないようにすることで、ディメンションの最大容量を実現できます。

本番インスタンスのサービス制限

選択した Kafka インスタンスのサイズにより、次の表に示すディメンションに制限が課せられます。

表 1.Kafka インスタンスサイズごとのサービス制限

ディメンジョン 1 ストリーミングユニットの制限 2 ストリーミングユニットの制限 まとめ
入力 最大 50MiB/s 最大 100MiB/s プロデューサーが Kafka インスタンスにデータを送信できる最大速度。これは、Kafka インスタンス全体の入力スループット制限を組み合わせたものであり、プロトコルのオーバーヘッドが含まれます。この制限はすべてのブローカーに均等に分散され、ブローカーごとに適用されます。 この制限を超えると、コンシューマーが短期間ブロックされます。
出力 最大 100MiB/s 最大 200MiB/s コンシューマーが Kafka インスタンスからデータを読み取ることができる最大速度。これは、Kafka インスタンス全体の出力スループット制限を組み合わせたものであり、プロトコルのオーバーヘッドが含まれます。この制限はすべてのブローカーに均等に分散され、ブローカーごとに適用されます。この制限を超えると、コンシューマーが短期間ブロックされます。
ストレージ 最大 1000GiB 最大 2000GiB Kafka インスタンス全体のレプリケーション後のストレージ制限。ストレージはブローカー間で均等に分割されます。Open Shift Streams for Apache Kafka は現在、Kafka クォータプラグインを介してストレージ使用量の制限を適用しています。いずれかのブローカーがストレージ制限に達すると、クォータプラグインは、ディスク容量が残っているブローカーに関するトピックに公開しているパブリッシャーも含め、すべてのパブリッシャーを抑制します。賢明にパーティション分割することが重要であるため、OpenShift Streams for Apache Kafka は、これらのパーティションをクラスター全体に分散させることができます。

ストレージ制限を超えると、Kafka インスタンスはプロデューサーを徐々に抑制し、最終的にはプロデューサーがメッセージを生成できないようにします。プロデューサーのブロックを自動的に解除するには、一部のストレージを解放するか、ストレージサイズを拡張します。ディスク容量のメトリックを監視 することで、現在のストレージ使用量を確認し、各ブローカーで使用可能なストレージをモニターできます。ストレージの使用を制御する 1 つの方法は、トピック保持オプションを設定することです。Red Hat サポート に連絡して、Kafka インスタンスのストレージ拡張をリクエストすることもできます。
パーティション 最大 1500 最大 3000 単一の Kafka インスタンスに含めることができるパーティションの最大数。多数のパーティションを作成すると、レイテンシーに悪影響があります。これは、フォロワーレプリカパーティションを含まないレプリケーション前のカウントです。
クライアント接続 最大 3000 最大 6000 Kafka インスタンスに対して開くことができる TCP 接続の総数。この数には、ブローカーの数の約 3 倍である内部モニタリングシステムからの接続も含まれます。この制限はすべてのブローカーに均等に分散され、ブローカーごとに適用されます。この制限を超えると、新しいクライアント接続を確立できなくなります。

クライアントアプリケーションは、Kafka インスタンスへの複数の接続を開きます (通常、ブローカーごとに 1 つのデータ接続と、ランダムブローカーへの 1 つの追加のメタデータ接続)。実際の接続数は、使用パターンによって異なります。この制限に達しないようにするには、同じ Kafka インスタンスに接続するクライアントの数を減らします。クラスターメトリックをモニタリングすることで、現在のクライアント接続の使用状況を確認できます。
1 秒あたりの接続試行回数 最大 100 最大 200 Kafka インスタンスへの認証試行の成功と失敗の割合。この制限はすべてのブローカー間で均等に分割され、ブローカーごとに適用されます。 この制限を超えると、新しい接続を確立できなくなります。 この制限に達しないようにするには、reconnect.backoff.ms 設定を使用してクライアントの再試行間隔を増やします。クラスターメトリックをモニタリング することで、現在のクライアント接続の使用状況を確認できます。
最大メッセージサイズ 最大 1MiB 最大 1MiB Kafka インスタンスに送信できるメッセージの最大サイズ。
組織ごとのサービスアカウント 50 50 組織ごとのサービスアカウントの最大数。この制限は、組織内のすべてのサービスアカウントで共有されます。
アベイラビリティーゾーン マルチ マルチ すべての標準インスタンスは、マルチアベイラビリティゾーンを使用します。

トライアルインスタンスサービスの制限

OpenShift Streams for Apache Kafka のトライアルインスタンスに適用される制限を次の表に示します。

表 2.Kafka トライアルインスタンスごとのサービス制限

ディメンジョン 制限
トライアルインスタンス期間 48 時間
ユーザーごとのトライアルインスタンス 1
アベイラビリティーゾーン シングル
トピックのレプリカ 1
入力 最大 1MiB/s
出力 最大 1MiB/s
ストレージ 最大 10GiB
パーティション 100 まで
クライアント接続 100 まで
接続率 最大 50 接続/秒
メッセージサイズ 最大 1MiB