Java 微服务中卡夫卡制作人造成的大GC暂停

Java 微服务中卡夫卡制作人造成的大GC暂停,java,performance,apache-kafka,garbage-collection,kafka-producer-api,Java,Performance,Apache Kafka,Garbage Collection,Kafka Producer Api,我的一个web服务为每个在线请求向kafka(版本:0.10.2.1)发送日志消息(大小:10K),我发现KafkaProducer消耗大量内存,导致gc暂停时间过长。 在我的服务中只有一个卡夫卡制作人,这是官方推荐的 我只是想知道是否有人对如何在不影响在线服务的情况下向卡夫卡发送消息有什么建议?听起来制作人无法跟上您的服务生成日志的速度。(这一定是猜测,因为您提供了有关设置的最少细节) 您是否对卡夫卡集群进行了基准测试?它能承受你产生的那种负荷吗 另一种方法是将卡夫卡制作人与实际服务分离。由于

我的一个web服务为每个在线请求向kafka(版本:0.10.2.1)发送日志消息(大小:10K),我发现KafkaProducer消耗大量内存,导致gc暂停时间过长。 在我的服务中只有一个卡夫卡制作人,这是官方推荐的


我只是想知道是否有人对如何在不影响在线服务的情况下向卡夫卡发送消息有什么建议?

听起来制作人无法跟上您的服务生成日志的速度。(这一定是猜测,因为您提供了有关设置的最少细节)

您是否对卡夫卡集群进行了基准测试?它能承受你产生的那种负荷吗

另一种方法是将卡夫卡制作人与实际服务分离。由于您处理的是日志消息,因此应用程序只需将日志写入磁盘,就可以有一个单独的进程来读取这些日志文件并将其发送到kafka。这样,消息的生成不会影响您的主要服务


您甚至可以让kafka producer完全在不同的VM/容器上运行,并通过NFS挂载之类的方式读取日志。

什么java版本、什么内存设置、日志在哪里、使用了什么GC、如何知道暂停?