Как настроить Kafka Streams / Kafka для прерывистого потока событий с длинными промежутками между событиями? - PullRequest
1 голос
/ 16 мая 2019

Я создаю продукт, используя потоки kafka и Kafka с Java / Python.

Продукт предназначен для обработки данных из нескольких разрозненных внешних источников данных, которые включают в себя как события в реальном времени, так и почасовые пакетные события. Могут быть долгие промежутки, часы, когда никакие события не поступят из внешних источников. Некоторые из этих событий из разных источников должны быть сопоставлены и агрегированы, для чего я планирую использовать Kafka Streams.

Учитывая, что примеры использования, наиболее часто приводимые в качестве примера для потоков Kafka / Kafka, представляют собой высокопроизводительные, высокопроизводительные и быстродействующие события в реальном времени, меня беспокоит вопрос о том, подходит ли мой вариант использования здесь. Итак, для этого мой вопрос:

  • учитывая прерывистый характер потока событий и длинные промежутки, Каковы некоторые из параметров конфигурации, которые мне нужно посмотреть в так что время ожидания соединения не истекает и перебалансировки не происходит.

  • Есть ли какие-нибудь ошибки, которые меня укусят, если я пойду дальше? архитектура?

1 Ответ

0 голосов
/ 16 мая 2019

Ваш вопрос довольно широкий, но я постараюсь дать вам несколько советов.Не указано, будет ли топология с состоянием или без состояния.

Я буду считать Кафку базовым хранилищем, заданным здесь.

  • Если вы смешиваете в реальном времени и пакет, и планируете выполнять объединения между ними, у вас будетдля определения времени окна в этих потоках (см. Windows , JoinWindows ).
  • Необходимо будет обеспечить минимальное время, чтобы смещения потребителей не истекли.IIRC, новые версии по умолчанию на 7 дней, но предыдущие версии были короче.См. KIP-186
  • Если вы находитесь в облаке, поищите альтернативные варианты (если вы переполните свой тариф, у вас будут проблемы!).Кроме того, убедитесь, что ваши брокеры могут справиться с этим и, возможно, выиграют от увеличения тайм-аутов сеансов Zookeeper.
  • Убедитесь, что срок хранения тем настроен на максимально возможное время хранения.Тема должна хранить информацию до максимально возможного времени ожидания информации, которая может присоединиться к ней из другой темы.

В принципе, и без дополнительной информации я не могу понять, почемуне работает для вашего случая использования.

...