Apache Samza

Создание событийно-управляемых микросервисов - Глава 12 - Легковесные фреймворки потоковой обработки

Создание событийно-управляемых микросервисов - Глава 12 - Легковесные фреймворки потоковой обработки

Переводы: EN

Четвертый шаблон для создания микросервисов — использование легковесных фреймворков.

Легковесные фреймворки предоставляют функциональность, аналогичную тяжеловесным фреймворкам, но они в значительной степени зависят от:

  • брокера событий
  • системы управления контейнерами (CMS)

Во многих случаях они превосходят тяжеловесные фреймворки.

Различные приложения могут использовать любые/разные ресурсы из кластера, которые лучше соответствуют их потребностям. При этом по-прежнему обеспечивают масштабирование и восстановление после сбоев (опять же, сильно полагаясь на брокера событий и CMS).

К сожалению, на данный момент есть только два полнофункциональных варианта:

Создание событийно-управляемых микросервисов - Глава 6 - Детерминированная обработка потоков

Создание событийно-управляемых микросервисов - Глава 6 - Детерминированная обработка потоков

Переводы: EN

Детерминированная потоковая обработка — это основа для создания масштабируемых систем, управляемых событиями. Отсутствие детерминизма может быть очень болезненным для бизнеса (представьте себе потерю финансовых транзакций, пропущенные оповещения, неправильную агрегацию данных).

Существуют определенные советы и приемы реализации детерминизма. Ключевые слова здесь:

  • Временные метки
  • Планирование событий
  • Водяные знаки
  • Время потока

Вы должны понимать природу неупорядоченых и запоздалых событий. И стратегии их обработки.

Также необходимо поддерживать повторную обработку.

И нужно учитывать периодические сбои.