gpt4 book ai didi

java - Kafka Producer Java 和 .NET CORE 2.1

转载 作者:太空宇宙 更新时间:2023-11-04 09:30:50 25 4
gpt4 key购买 nike

嗯,我正在对 Spring Kafka 与 Confluence.Kafka 1.1.0 (.NET CORE 2.1) 的性能进行基准测试。

我注意到 Spring kafka 在 11 秒内写入了 100 万条消息,而 NETCORE 在 1.58 分钟内写入了 100 万条消息。差异远远超出预期,在两种生产者配置中我没有更改任何内容,只是使用驱动程序的默认值。

NETCORE 2.1配置

public static void produce()
{
var hostPort = "localhost:9092";
var config = new ProducerConfig(
new Dictionary<string,string> {
{"bootstrap.servers", "localhost:9092"}
}
);

Console.WriteLine($"Connecting in Kafka using host {hostPort}");

try
{
using (var producer = new ProducerBuilder<Null, String>(config).Build())
{
var startTime = DateTime.Now;
for (int i = 0; i < 1000000; i++)
{
//send message to kafka broker without wait for any response
producer.Produce("netcore-topic", new Message<Null, string> { Value = $"Producing message {i} from .NET CORE 2.1" });
Console.WriteLine($"Producing message {i}");
}
var endTime = DateTime.Now;

Console.WriteLine($"Total time = {(endTime - startTime)}");

//avoid terminate program before messaged was delivered
producer.Flush(TimeSpan.FromMilliseconds(880));
Console.WriteLine("All messages sent");
}
}
catch (ProduceException<Null, string> e)
{
Console.WriteLine($"Error: {e.Error.Reason}");
}
}

这是 Spring Kafka Producer 配置:

 @Bean
public ProducerFactory<String, String> producerFactory() {
Map<String, Object> configProps = new HashMap<>();
configProps.put(
ProducerConfig.BOOTSTRAP_SERVERS_CONFIG,
"localhost:9092");
configProps.put(
ProducerConfig.KEY_SERIALIZER_CLASS_CONFIG,
StringSerializer.class);
configProps.put(
ProducerConfig.VALUE_SERIALIZER_CLASS_CONFIG,
StringSerializer.class);
return new DefaultKafkaProducerFactory<>(configProps);
}

因此,如您所见,不存在任何不同的配置。生成消息的方法只是用两种语言编写的控制台。

netcore 驱动程序中是否存在任何相关的缓慢问题,或者我需要在 netcore 驱动程序中设置更好的配置?

最佳答案

我发现问题,.NET Console.WriteLine 非常慢,当我删除它时,花费时间减少到 2 秒。

关于java - Kafka Producer Java 和 .NET CORE 2.1,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/57120109/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com