Я работал над приложением, основанным на API-интерфейсе java kafka-streams, цель которого - обработать поток данных, поступающих из одной темы kafka, и преобразовать его в другую тему.
Как представляется, всякий раз, когда я начинаю создавать сообщения с использованием приложения kafka-streams, файловые дескрипторы просто продолжают открываться на используемых мной брокерах kafka, и они никогда не закрываются, что означает, что в конечном итоге сервер kafka заканчивается слишком большим количеством открытых файлы, а также демоны kafka и zookeeper.
Я использую kafka-streams-1.0.1
API jar для Java и работаю на JDK 11. Кластер kafka имеет версию Kafka 1.0.0.
Конфигурация моего приложения включает следующие конфиги производителя kafka:
batch.size
: установлено 100 000 сообщений.
linger.ms
: установлено на 1000 миллисекунд.
buffer.memory
: установить в байтовом эквиваленте 5 Мегабайт.
Сама обработка потока очень проста и состоит из:
stream.map((k,v) -> handle(k,v)).filter((k,v) -> v != null).to(outgoingTopic);
Буду признателен за любые ваши предложения, ребята.