Versions Compared

Key

  • This line was added.
  • This line was removed.
  • Formatting was changed.

...

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

...