Кафка PersistentWindowStore ребалансировка механики - PullRequest
0 голосов
/ 24 апреля 2018

Я создаю 30-минутное хранилище дедупликации для приложения Kafka Streams, свободно основываясь на этом сливном коде (чтобы решить проблему, отличную от гарантии единовременной обработки Kafka), и хочу свести к минимумувремя запуска топологии.

В этом коде используется постоянное хранилище окон, для которого необходимо указать количество сегментов журнала, которые необходимо использовать.Предполагая, что я хочу использовать 2 сегмента и использую размер сегмента по умолчанию, равный 1 ГБ, означает ли это, что во время перебалансировки клиент должен будет прочитать 2 ГБ данных перед запуском приложения?

1 Ответ

0 голосов
/ 24 апреля 2018

Параметр сегмента настраивает что-то другое в Kafka Streams - он не связан с сегментами в брокерах (только одно имя).

При использовании оконного хранилища время хранения хранилища делится наколичество сегментов.Если все данные сегмента старше, чем время хранения, весь сегмент удаляется и создается новый пустой сегмент.Эти сегменты существуют только на стороне клиента.

Количество записей, которые необходимо восстановить, зависит только от времени хранения (и вашей скорости ввода данных).Это не зависит от размера сегментов.Размер сегмента определяет только то, как истек срок действия мелкозернистых старых записей.

...