TGViewer
Про_БА Про_БА @pro_ba_it · 763 subscribers
Post #234 356
Event Sourcing: требования и впечатления

Наверняка вы уже слышали об этом паттерне. Коротко говоря, в Event Sourcing состояние приложения определяется последовательностью событий (events), а не просто текущим состоянием данных. Каждое изменение сохраняется как неизменяемое событие. Можно восстановить экземпляр процесса, получить информацию о поведении системы, восстановить данные, если отследить или выполнить связанные события.

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

Я столкнулась с построением событийной модели для уже автоматизированного процесса. Со временем процесс так усложнился, что стало важным отслеживание на уровне отдельных шагов каждого из экземпляров. Разбирать изменение данных слишком сложно для анализа поведения системы или пользователей.

С точки зрения состава требований понадобятся:
📍структура события – состав атрибутов, обязательность, порядок заполнения;
📍типы событий – сама модель того, что должно сохраняться (OrderCreated, OrderCompleted и пр.);
📍место и политики хранения (где и как долго хранить. Этот и следующий пункт больше к СА или архитектору);
📍механизмы доставки и воспроизведения.

В части структуры и типов в моем случае сложным оказалось перекладывание бизнес-понимания шагов процесса на события в системе. За шагом вида "подать заявку" прячутся десятки взаимодействий между сервисами: для валидации данных, проверок дубликатов, обработки исключений и пр. Это связать с процессом особенно непросто, когда сам процесс не представлен в формате автономных задач с понятными входом и выходом. Здесь как раз вспомнился BPMN c его токенами. Звучит занудно, но не могу удержаться 🙈 Адекватную модель процесса гораздо проще переложить на архитектурное решение, чем наоборот – подстраивать одно под другое.

📚По традиции делюсь материалами:
Гайд по эвент-сорсингу
Знакомимся с Event Sourcing

#что_почитать #инструменты
  • ❤ 4
  • 👍 1
  • 🔥 1
More from @pro_ba_it
  1. Sep 25, 2026Что и Как? Где заканчивается ответственность продакта и начинается ответственность аналити…
  2. Sep 23, 2026Кому-то еще нужно ТЗ? Видимо меня одолела “предвзятость подтверждения”, та самая, когда че…
  3. Sep 8, 2026Матрица, которая не стареет? Неделю назад провела лекцию для системных аналитиков, где сре…
  4. Aug 21, 2026- Опять пишешь? Три года уже пишешь и зачем это? Кто тебя просит? Это к рабочему столу при…
  5. Aug 18, 2026Контекст решает всё. JTBD для аналитика После того как написала здесь об артефактах в эпох…
  6. Jul 31, 2026Чем аналитик DWH отличается от других аналитиков? Такие вопросы мы обсуждали в новом выпус…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →