首页 > 解决方案 > 使用 DirectByteBuffer 的 Kafka 生产者

问题描述

在内存密集型 Java 应用程序中,让多个 KafkaProducer 实例向 KafkaBrokers 发送大型 json 字符串(1-1.5 MB),将 buffer.memory 配置为更高的值(比如说 256 MB)会触发频繁的 GC。我需要大缓冲区来弥补应用程序生成消息的高吞吐量和 KafkaProducer 向 KafkaBrokers 发送消息的速度慢之间的差距。是否存在使用直接缓冲区(堆外)而不是堆缓冲区(ByteBuffer.allocate() 调用)的 KafkaProducer 库版本。在将大消息发送给代理的情况下,这是一个合理的探索解决方案还是有其他方法可以提高性能?

标签: javaapache-kafkakafka-producer-apibytebuffer

解决方案


推荐阅读