Проблемы потоковой обработки

Концепции потоковой обработки

Mike Metzger

Data Engineer

Обзор масштабирования

Вертикальное масштабирование — вычислительные ресурсы

  • CPU
  • RAM
  • Диск (объём и скорость I/O)
  • Сеть

Горизонтальное масштабирование — больше узлов

  • Добавление машин в качестве узлов / воркеров
Концепции потоковой обработки

Основные проблемы

  • Вычислительные ресурсы
    • Нехватка или недостаточная скорость ресурсов
  • Дополнительные узлы
    • Требуют более высокой связности
    • Необходимы общие ресурсы
    • Повышенная сложность
    • Как правило, требуется управление кластером
Концепции потоковой обработки

Проблемы коммуникации

Виды проблем с сообщениями:

  • Потерянные сообщения
  • Задержанные сообщения
  • Неупорядоченные сообщения
  • Дублирующиеся сообщения
Концепции потоковой обработки

Потерянные сообщения

  • Представляют события, которые так и не поступили
  • Их сложно обнаружить
  • Иногда решается с помощью идентификатора последовательности
  • Запрос пропущенных сообщений может задержать дальнейшие ответы
Концепции потоковой обработки

Задержанные сообщения

  • Схожи с потерянными сообщениями
  • Могут нарушить работу конвейера обработки из-за задержек
  • Часто связаны с проблемами системных ресурсов
Концепции потоковой обработки

Неупорядоченные сообщения

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

Дублирующиеся сообщения

  • Возникает, когда одно и то же сообщение отправляется несколько раз или повторно — из-за сбоев
  • Полностью устраняется только обработкой последовательности, но иногда можно игнорировать
  • Иногда не является проблемой (например, при измерении температуры)
Концепции потоковой обработки

Давайте потренируемся!

Концепции потоковой обработки

Preparing Video For Download...