...
The config may be prefixed with a listener prefix to specify a different listener-specific limit: listener.name.{listenerName}.max.connection.creation.rate
. Listener-specific limits will be applied in addition to the broker-wide limit. If a listener-specific limit is not specified, each listener can create connections with the rate up to the broker-wide limit as long as the total rate is also within the broker-wide limit. If a broker has multiple listeners, connections on the inter-broker listener will always succeed as long as connection creation rate is within that listener's rate limit. The behavior of the proposed broker-wide and per-listener configs is consistent with max.connections broker configuration (KIP-402).
Dynamic configurations for a new entity type
...
IPs
Per-IP connection creation rate quota will be configured as a dynamic quota for entity type "ips
" IPs
.
- Default quota for <ip-address> <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 quota is not configured, the default value is we will use Int.MaxValue as a default to ensure backward compatibility.
...
kafka-configs.sh
will be extended to support per-IP connection rate quotas. A new entity type “ips
” will IPs
will be added with the following key (and a value of type Int):
...
bin/kafka-configs --bootstrap-server localhost:9091 --alter --add-config 'connection_creation_rate=100' --entity-name 93.284.53.13 --entity-type ipsIPs
Default connection rate quotas for an IP address can be configured by omitting entity name. For example:
bin/kafka-configs --bootstrap-server localhost:9091 --alter --add-config 'connection_creation_rate=100' --entity-type ipsIPs
Connection rate throttling behavior
...