Kafka batch listener, опрашивающий фиксированные номера записей (насколько это возможно) - PullRequest
0 голосов
/ 14 февраля 2020

Я использую загрузочную версию Spring 1.5.4.RELEASE и Spring Kafka версии 1.3.8.RELEASE.

Мой потребитель Kafka выполняет пакетную обработку кусками по 100. Topi c Я у попытки потреблять есть 10 разделов, и у меня есть 10 экземпляров потребителя Kafka.

Можно ли принудительно установить 100 фиксированных номеров записей (как можно больше), кроме последнего фрагмента в конкретном разделе.

1 Ответ

2 голосов
/ 14 февраля 2020

Кафка не имеет свойства fetch.min.records.

Лучшее, что вы можете сделать, это смоделировать его с помощью:

fetch.min.bytes: минимальный объем данных, который сервер должен вернуть запрос на получение. Если данных недостаточно, запрос будет ждать накопления такого количества данных, прежде чем ответить на запрос. Значение по умолчанию, равное 1 байту, означает, что на запросы выборки отвечают, как только один байт данных становится доступным или время запроса выборки истекает в ожидании поступления данных. Если для этого параметра задать значение больше 1, сервер будет ожидать накопления больших объемов данных, что может немного повысить пропускную способность сервера за счет некоторой дополнительной задержки.

и

fetch.max.wait.ms: максимальное количество времени, которое сервер будет блокировать перед ответом на запрос выборки, если данных недостаточно для немедленного удовлетворения требованиям, заданным fetch.min.bytes.

Что будет работать, если ваши записи имеют одинаковую длину.

Кстати, Spring Boot 1.5.x является концом срока службы и больше не поддерживается. Текущая версия загрузки - 2.2.3.

...