当前位置: 首页 > 知识库问答 >
问题:

Apache Kafka生产者配置:'request.timeout.ms'VS.'max.block.ms'属性

谭学名
2023-03-14

考虑到以下同步Kafka制作人

Properties props = new Properties();
props.put("max.block.ms", 30000);
props.put("request.timeout.ms", 30000);
props.put("retries", 5);

KafkaProducer<String, byte[]> produce = new KafkaProducer<>(props);

//Send message
producer.send(producerRecord).get();

请帮助我理解请求之间的区别。暂停。ms和max block。ms producer配置。是否包括所有重试的最长时间?还是每次重试都有自己的超时?

共有1个答案

姬泰
2023-03-14

要求暂停。ms用于超时请求,我会将其设置为等待响应的最长时间。

马克斯·布洛克。ms用于生产者阻止缓冲时间、序列化时间等。

有关详细信息,请参阅这个。https://cwiki.apache.org/confluence/display/KAFKA/KIP-19-向NetworkClient添加请求超时

 类似资料:
  • 用例如下。我在Java代码中的许多对象实例上传递生产者或消费者引用。在其中一些地方,我想对Kafka的配置进行一些检查。这意味着我想回去,Kafka生产者/消费者(包括默认值)中存储了什么样的有效配置。我在java文档中没有看到显式的anthing: Kafka制作人 那么,如何找回Kafka制作人和消费者的配置呢?

  • 我需要设置Kafka生产商发送500 msg在一批不是由味精味精,但批量进口味精。我查过了https://github.com/dpkp/kafka-python/issues/479并尝试了但失败并出现错误: 我也试着像《代码》制作人一样通过考试。制作(主题,*消息)失败: 因此,我挖掘了更多信息,发现我必须在producer配置中将类型设置为async和batch。大小要大于默认值,但当我尝试

  • 我使用的是Kafka producer客户端,我的项目中没有任何log4j配置。 在运行时,程序打印了大量的Kafka调试日志,这是我不想要的。

  • 我正在创建一个系统,其中前端服务将消息推送到Kafka请求主题,并为一些下游后端消费者(实际上是一个最终推送回Kafka的复杂系统)监听另一个响应主题,以处理请求消息并最终推进到“回应”话题。 我试图找出最优雅的方法来确保消费者监听适当的分区并收到响应,并且后端推送到前端消费者正在监听的分区。我们总是需要确保响应到达产生初始消息的同一个消费者。 到目前为止,我有两种解决方案,但都不是特别令人满意的

  • 我有一个消费者作为生产者消费者模式的一部分: 简化: 如果我移除 通过将线程设置为睡眠,CPU使用率攀升到极高的水平(13%),而不是0%。 此外,如果我实例化该类的多个实例,则每个实例的CPU使用率都会以13%的增量攀升。 大约每分钟(可能每30秒)都会向BlockingCollection添加一个新的LogItem,并将适用的消息写入文件。 有没有可能线程以某种方式阻止了其他线程的运行,而系统

  • 我有一个Spring引导应用程序,用于向Kafka集群上的主题发送消息。我已经自动拥有了delivery.timeout.ms的属性,在应用程序启动和生产者配置后,应用程序日志显示属性的值没有设置,并给出警告: 我已经检查了我的POM,并确认我使用了以下两个依赖项: 我还确认该属性存在于2.1.0版中:https://kafka.apache.org/21/javadoc/org/apache/k