13.2.100. KafkaUserQuotas スキーマ参照
KafkaUserSpec
で使用
Kafka では、ユーザーは quotas
を設定してクライアントによるリソースの使用を制御できます。
13.2.100.1. quotas
クライアントを設定して、以下のタイプのクォータを使用できます。
- ネットワーク使用率 クォータは、クォータを共有するクライアントの各グループのバイトレートしきい値を指定します。
- CPU 使用率クォータは、クライアントからのブローカー要求のウィンドウを指定します。ウィンドウは、クライアントが要求を行う時間の割合 (パーセント) です。クライアントはブローカーの I/O スレッドおよびネットワークスレッドで要求を行います。
- パーティション変更クォータは、クライアントが 1 秒ごとに実行できるパーティション変更の数を制限します。
パーティション変更クォータにより、Kafka クラスターが同時にトピック操作に圧倒されないようにします。パーティション変更は、次のタイプのユーザー要求に応答して発生します。
- 新しいトピック用のパーティションの作成
- 既存のトピックへのパーティションの追加
- トピックからのパーティションの削除
パーティション変更クオータを設定して、ユーザー要求に対して変更が許可されるレートを制御できます。
Kafka クライアントにクォータを使用することは、さまざまな状況で役に立つ場合があります。レートが高すぎる要求を送信する Kafka プロデューサーを誤って設定したとします。このように設定が間違っていると、他のクライアントにサービス拒否を引き起こす可能性があるため、問題のあるクライアントはブロックする必要があります。ネットワーク制限クォータを使用すると、他のクライアントがこの状況の著しい影響を受けないようにすることが可能です。
AMQ Streams はユーザーレベルのクォータをサポートしますが、クライアントレベルのクォータはサポートしません。
Kafka ユーザークォータの設定例
spec: quotas: producerByteRate: 1048576 consumerByteRate: 2097152 requestPercentage: 55 controllerMutationRate: 10
Kafka ユーザークォータの詳細は Apache Kafka ドキュメント を参照してください。