По умолчанию данные хранилища состояний поддерживаются темами Kafka.Если запускается экземпляр Kafka Streams, он ищет данные своего хранилища состояний (в каталоге, определенном state.dir
).Если он не найдет его, ему придется прочитать его в темах государственного магазина в Кафке.В зависимости от объема данных, который у вас есть, это может занять некоторое время.
Примером этого является работа с контейнерами.Если вы не используете тома для сохранения данных после истечения срока службы вашего контейнера, экземпляру приложения Kafka Streams придется заново создавать его каждый раз при чтении из тем;поэтому вы можете сократить это время, отсоединив это хранилище от срока службы вашего контейнера, чтобы оно было доступно при перезапуске.
Обновленный ответ : Да, хотя имейте в виду, что вы потеряете его, еслитом - это обычный том в хосте, потому что в этом случае он не будет потерян с вашим контейнером, но он будет потерян, если ваша хост-машина умрет.Для обеспечения дополнительной отказоустойчивости может потребоваться, чтобы он сохранялся не только на вашем контейнере, но и на вашем хост-компьютере (например, в терминах AWS, внешние тома (WBS) или тома экземпляра).
Кроме того, это будетпомогите установить num.standby.replicas
выше 1, чтобы другой экземпляр мог вступить во владение при остановке экземпляра.Имейте в виду, что это, конечно, добавит дополнительную нагрузку в ваши случаи.