Потоковая передача большого файла на kafka с помощью Springboot Cloud Stream - PullRequest
0 голосов
/ 11 декабря 2018

В текущем проекте, над которым я работаю, мне нужно распаковать текстовые файлы (примерно 500Мб + примерно в разархивированном виде) и отправить все их строки без фильтра в тему кафки.Для этого я использую следующий подход:

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());

Есть ли лучший подход для отправки всех строк в темуулучшение производительности?Может быть, прочитать файл с другой стратегией или отправить строки в тему по-другому?

Любой совет будет приветствоваться!

...