2017-04-02 3 views
0

J'utilise un .NET client (producer and consumer) of Apache Kafka. J'essaye d'augmenter la taille du message maximum qui peut être envoyé. J'ai lu le configuration manual et quelques messages au sujet de ma question:Erreur lors de la configuration du client producteur .NET d'Apache Kafka pour travailler avec des messages importants

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

j'ai vu que je définir la propriété "max.request.size" pour le producteur. J'ai donc fait ce qui suit:

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))) 
     { 
     ... 

Mais quand je lance le producteur, une exception est levée:

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

La documentation Apache Kafka dit ceci au sujet de cette propriété du producteur:

La taille maximale d'une requête en octets. Ceci est également effectivement un plafond sur la taille d'enregistrement maximale. Notez que le serveur a sa propre limite de taille d'enregistrement qui peut être différente de celle-ci. Ce paramètre limitera au nombre de lots d'enregistrements que le producteur enverra en une seule demande pour éviter d'envoyer des demandes importantes.

Si, pour une raison quelconque, la documentation n'est pas à jour, quelle est la bonne propriété à utiliser?

Merci

Répondre