使用springboot云流将大文件流式传输到kafka

时间:2018-12-11 20:54:26

标签: java apache-kafka spring-cloud-stream

在我当前正在处理的项目中,我需要解压缩文本文件(解压缩后大约500Mb +),并将其所有行(不带过滤器)发送给kafka主题。我正在使用以下方法来做到这一点:

Files.lines(file.toPath()).forEach(this::sendLineToTopic);

方法sendLineToTopic基本上是这样做的:

MessageChannel messageChannel = outputStream.outboundRawLinesChannel();
            messageChannel.send(MessageBuilder
                    .withPayload(line)
                    .setHeader(MessageHeaders.CONTENT_TYPE, MimeTypeUtils.TEXT_PLAIN)
                    .build());

是否有更好的方法将所有行发送到主题以提高性能?也许以其他策略读取文件或以其他方式将行发送到主题?

任何建议都将受到欢迎!

0 个答案:

没有答案