예제 #1
0
 public static void FillFromFile(string path)
 {
     var jsonSerializer = new JsonSerializer();
     using (var streamReader = new StreamReader(File.OpenRead(path)))
     {
         using (var jsonTextReader = new JsonTextReader(streamReader))
         {
             var config = jsonSerializer.Deserialize<Config>(jsonTextReader);
             settings = config.Settings;
             TopologyService.Fill(config.Topology);
         }
     }
 }
        private static KafkaProducer CreateKafkaProducer()
        {
            var topology     = TopologyService.GetTopology("Kafka");
            var settings     = SettingsProvider.GetSettings();
            var kafkaSetting = new KafkaSetting(settings.DisableKafkaReports)
                               .SetBootstrapServers(topology)
                               .SetAcks(1)
                               .SetRetries(0)
                               //.Set("queue.buffering.max.ms", 20)
                               .Set("auto.commit.interval.ms", 1400)
                               .Set("session.timeout.ms", 8400)
                               .Set("message.max.bytes", 1000000)
                               .Set("message.copy.max.bytes", 604000)
                               //.Set("receive.message.max.bytes", 92000000)
                               .Set("max.in.flight.requests.per.connection", 560000)
                               .Set("queue.buffering.max.messages", 9200800)
                               .Set("queue.buffering.max.kbytes", 839460)
                               .Set("queue.buffering.max.ms", 500)
                               .Set("batch.num.messages", 1000000)
                               .SetClientId("client-id");

            return(new KafkaProducer(kafkaSetting, OnMessageSent));
        }