...
Per-IP connection creation rate quota will be configured as a dynamic quota for entity type IPs
ips
.
- Default quota for <IPs> will be stored in Zookeeper at /config/IPsips/<default>
- Quota for a specific IP address for which quota override is defined will be stored in Zookeeper at /config/IPsips/<ip-address>
If per-IP or default IP quota is not configured, we will use Int.MaxValue as a default to ensure backward compatibility.
...
Code Block |
---|
/** * Describes a client quota entity, which is a mapping of entity types to their names. */ public class ClientQuotaEntity { /** * The type of an entity entry. */ public static final String USER = "user"; public static final String CLIENT_ID = "client-id"; public static final String IP = "IPip"; } |
Since IP quotas are orthogonal with user/client ID quotas the following is to disambiguate how the new IP
entity will interact with the existing client-id
and user
entities.
...
bin/kafka-configs --bootstrap-server localhost:9091 --alter --add-config 'connection_creation_rate=100' --entity-name 93.284.53.13 --entity-type IPsips
bin/kafka-configs --bootstrap-server localhost:9091 --alter --add-config 'connection_creation_rate=100' --ip 93.284.53.13
Default connection rate quotas for an IP address can be configured by omitting entity name. For examplevia the following:
bin/kafka-configs --bootstrap-server localhost:9091 --alter --add-config 'connection_creation_rate=100' --entity-type IPsips --entity-default
bin/kafka-configs --bootstrap-server localhost:9091 --alter --add-config 'connection_creation_rate=100' --ip-defaults
Connection rate throttling behavior
...