Как распределить хранилище состояний Kafka-Streams на несколько дисков - PullRequest
1 голос
/ 16 марта 2020

В Kafka Broker рекомендуется использовать несколько дисков для журналов сообщений для повышения пропускной способности. Вот почему у них есть свойство log.dirs, которое может иметь несколько каталогов, которые будут назначаться разделам циклически.

У нас есть много установок, которые мы уже настроили таким образом для управляемой событиями kafka приложения, в которых у нас есть 4 узла с 5 дисками в каждом.

Теперь мы хотим использовать Kafka-Streams с хранилищем Key-Value, где мы сохраняем вычисленные данные для запросов быстрого диапазона. Мы видим, что Kafka-Streams сопоставляет разделы 1-на-1 с несколькими хранилищами состояний и создает отдельный подкаталог для каждого.

Однако мы не можем настроить, как распределить эти подкаталоги по разным дискам. Мы можем настроить только один родительский каталог как «state.dir» (StreamsConfig.STATE_DIR_CONFIG).

Есть ли конфигурация, которую я пропускаю? Или наличие нескольких дисков не так важно для Kafka Streams?

1 Ответ

0 голосов
/ 17 марта 2020

Это на самом деле не актуально, но это должно быть обработано на уровне ОС через конфигурации RAID, например.

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

...