Ce contenu n'est pas disponible dans la langue sélectionnée.
Chapter 115. KafkaUserQuotas schema reference
Used in: KafkaUserSpec
Full list of KafkaUserQuotas
schema properties
Kafka allows a user to set quotas
to control the use of resources by clients.
115.1. quotas Copier lienLien copié sur presse-papiers!
You can configure your clients to use the following types of quotas:
- Network usage quotas specify the byte rate threshold for each group of clients sharing a quota.
- CPU utilization quotas specify a window for broker requests from clients. The window is the percentage of time for clients to make requests. A client makes requests on the I/O threads and network threads of the broker.
- Partition mutation quotas limit the number of partition mutations which clients are allowed to make per second.
A partition mutation quota prevents Kafka clusters from being overwhelmed by concurrent topic operations. Partition mutations occur in response to the following types of user requests:
- Creating partitions for a new topic
- Adding partitions to an existing topic
- Deleting partitions from a topic
You can configure a partition mutation quota to control the rate at which mutations are accepted for user requests.
Using quotas for Kafka clients might be useful in a number of situations. Consider a wrongly configured Kafka producer which is sending requests at too high a rate. Such misconfiguration can cause a denial of service to other clients, so the problematic client ought to be blocked. By using a network limiting quota, it is possible to prevent this situation from significantly impacting other clients.
Streams for Apache Kafka supports user-level quotas, but not client-level quotas.
Example Kafka user quota configuration
For more information about Kafka user quotas, refer to the Apache Kafka documentation.
115.2. KafkaUserQuotas schema properties Copier lienLien copié sur presse-papiers!
Property | Property type | Description |
---|---|---|
consumerByteRate | integer | A quota on the maximum bytes per-second that each client group can fetch from a broker before the clients in the group are throttled. Defined on a per-broker basis. |
controllerMutationRate | number | A quota on the rate at which mutations are accepted for the create topics request, the create partitions request and the delete topics request. The rate is accumulated by the number of partitions created or deleted. |
producerByteRate | integer | A quota on the maximum bytes per-second that each client group can publish to a broker before the clients in the group are throttled. Defined on a per-broker basis. |
requestPercentage | integer | A quota on the maximum CPU utilization of each client group as a percentage of network and I/O threads. |