kafka生产者的request.timeout.ms和timeout.ms属性之间的区别

vat*_*ada 4 apache-kafka kafka-producer-api

为参照的卡夫卡文档,卡夫卡消息prducer配置有request.timeout.mstimeout.ms属性.阅读这两个属性的描述,我无法清楚地区分它们.

任何人都可以使用小例子解释差异.

yas*_*nth 12

request.timeout.ms是客户端配置的超时.它表示客户端将等待这么多时间让服务器响应请求.

timeout.ms是Kafka群集中的leader上配置的超时.这是服务器端的超时.例如,如果您将acks设置为all,则服务器将不会响应,直到其所有关注者都已将响应发送回领导者.领导者将等待timeout.ms所有粉丝回复的时间.

因此客户端向服务器(领导者)发送请求.根据acks设置,服务器将等待或响应客户端.timeout.ms是领导者等待其关注者request.timeout.ms的时间量,而是客户端等待服务器(领导者)的时间量.


ame*_*tic 7

它们都用于公共底层网络客户端,这意味着等待请求响应的最大时间,尽管 timeout.ms 被标记为“已弃用”。实际上,timeout.ms仅在生产者端使用,而request.timeout.ms可以为客户端(包括生产者和消费者)和服务器(用于复制线程)定义。

Kafka建议用户指定request.timeout.ms而不是timeout.ms