配置Apache Kafka的.NET生产者客户端使用大消息时出错

问题描述:

我正在使用.NET client (producer and consumer) of Apache Kafka配置Apache Kafka的.NET生产者客户端使用大消息时出错

我正在尝试增加可发送的最大消息的大小。我读了configuration manual和一些帖子关于我的问题:

  1. Kafka: Sending a 15MB message
  2. https://github.com/confluentinc/kafka-rest/issues/208

我看到了,我应该为生产者的财产 “max.request.size”。 所以我做了以下内容:

var config = new Dictionary<string, object> 
     { 
      { "bootstrap.servers", brokerList }, 
      { "max.request.size", 10 * 1024 * 1024 } 
     }; 

     using (var producer = new Producer<Null, string>(config, null, new StringSerializer(Encoding.UTF8))) 
     { 
     ... 

但是当我运行的生产者,将抛出一个异常:

System.InvalidOperationException: 'No such configuration property: "max.request.size"' 

Apache的卡夫卡文档讲述了以下有关生产者的这个属性:

在字节的请求的最大大小。这也是一个有效的最大记录大小上限 。请注意,服务器在 记录大小上有自己的上限,这可能与此不同。此设置将限制 生产者将在单个 请求中发送的记录批次数,以避免发送巨大请求。

如果由于某些原因文档不是最新的,那么使用什么样的正确属性?

由于

汇合卡夫卡DOTNET其具有一组不同的配置参数,以Java客户端罩下使用librdkafka。这些都记录在这里:

https://github.com/edenhill/librdkafka/blob/master/CONFIGURATION.md

我相信你正在寻找的参数是message.max.bytes

+0

作品。谢谢.. –