Размер пакетного ввода API Kafka Direct
Согласно API Kafka Direct количество входных записей рассчитывается как
maxInputSize = maxRatePerPartition * #numOfPartitions# * #BATCH_DURATION_SECONDS#
Я действительно не смог понять, почему размер ввода определяется следующим образом. Предположим, моя работа обрабатывает 100 файлов за 5 минут.
если я установлю maxRatePerPartition = 1, numOfPartitions в моей теме равен 6, то что должно быть длительностью пакета, потому что если я установлю длительность пакета в секундах, равную 300, я получу 1800 файлов в качестве входных данных, и будет длинная очередь пакетов, ожидающих обработки и 1800 файлов потребуется около получаса для обработки, не говоря уже о проблемах с памятью и других ограничениях.
Как я могу обслужить эту проблему. Я должен иметь возможность контролировать записи в моем входе. Я могу обработать 10 записей за 5 минут, я должен быть в состоянии загрузить только эти много записей.