Окно хранилища Kafka Streams хранит данные намного дольше, чем срок хранения - PullRequest
0 голосов
/ 21 апреля 2020

Вариант использования заключается в передаче sh записей из разделов, которые не получили новые данные в потоках kafka, поскольку мы используем подавление, для которого требуется время потока.

Итак, у нас есть Window Store с падающим окном 1 минута с уменьшенной операцией с подавлением. Конструкция подавления зависит от времени потока. Поэтому, если какой-либо раздел не получает новую запись о потребителе, то подавление не будет продвигаться для ожидающей записи о потребителе в этом разделе.

Стоит отметить, что период хранения хранилища состояний установлен на 65 секунд.

Итак, чтобы сделать явный грипп sh из хранилища состояний окон, решил go с помощью transform api и использовал его в топологии DSL.

В узле преобразования мы используем context.schedule для планирования пунктуатора чтобы получить доступ к хранилищу состояний и выполнить оконный запрос, например fetchall (startTimeInstant, endTimeInstant), чтобы получить старые ключи, которые еще не очищены.

Из документации следует отметить, что срок хранения является минимальным время данные будут оставаться в окне хранилища. Только если все записи в окне достаточно стары, тогда только оно сбрасывается.

Теперь идея состоит в том, что успешных записей не должно быть в хранилище состояний, когда мы запускаем fetchall (как время начала (ut c -3 минуты). Но до 6 минут старые данные, которые были удалены, все еще там в хранилище окон.

ПРОБЛЕМА здесь - я не хочу видеть старые записи в хранилище окон, так как тогда полезная нагрузка должна быть просмотрена / проанализирована, чтобы сделать выбор, следует ли * flu26 * 10 * данные или нет, что сильно повышает производительность.

Я также проверил политику хранения / изменения topi c журнала изменений. Он также имеет 65 секунд.

Я знаю подход classi c это отправить пакет keep alive на все разделы ввода topi c, но в нашем случае это невозможно, так как ввод topi c используется несколькими клиентами. Все они должны будут измениться.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...