代理检测到配额违规(Kafka 配额延迟)时如何反应?
How does a broker react when it detects a quota violation (Kafka quota delay)?
在具有已定义配额的 Kafka 集群中,为了控制客户端使用的代理资源,代理会计算将违规客户端置于其配额之下所需的延迟量,并 returns 响应立即延迟 Source from Kafka apache documentation.
这个话题我想知道delay指的是什么(求具体例子)?
据我所知,当我们定义例如 producer_byte_rate=1024
时,代理会监控生产者不要覆盖 1024o/sec,如果生产者覆盖 1024o/sec,代理会降低客户端通过限制为该客户端保留的管道来分配它的配额。
最近更改了命中客户端命中配额时的行为
从卡夫卡 2.0 开始:
当代理检测到客户端违反配额时,代理会计算将客户端带回其允许的配额内所需的延迟并立即回复(包括响应中计算的延迟)。然后代理使客户端套接字静音,因此它不会在延迟期间处理来自该客户端的任何更多请求。
收到带有节流时间的响应后,"good" 客户端应等待延迟,然后再尝试发送更多请求。代理忽略在此期间发送的任何请求。
2.0.0 之前:
违反时,代理不会立即回复,而是等待节流持续时间,然后才向客户端发送响应。
在具有已定义配额的 Kafka 集群中,为了控制客户端使用的代理资源,代理会计算将违规客户端置于其配额之下所需的延迟量,并 returns 响应立即延迟 Source from Kafka apache documentation.
这个话题我想知道delay指的是什么(求具体例子)?
据我所知,当我们定义例如 producer_byte_rate=1024
时,代理会监控生产者不要覆盖 1024o/sec,如果生产者覆盖 1024o/sec,代理会降低客户端通过限制为该客户端保留的管道来分配它的配额。
最近更改了命中客户端命中配额时的行为
从卡夫卡 2.0 开始: 当代理检测到客户端违反配额时,代理会计算将客户端带回其允许的配额内所需的延迟并立即回复(包括响应中计算的延迟)。然后代理使客户端套接字静音,因此它不会在延迟期间处理来自该客户端的任何更多请求。
收到带有节流时间的响应后,"good" 客户端应等待延迟,然后再尝试发送更多请求。代理忽略在此期间发送的任何请求。
2.0.0 之前: 违反时,代理不会立即回复,而是等待节流持续时间,然后才向客户端发送响应。