Поток событий и EventSourcing - PullRequest
       82

Поток событий и EventSourcing

0 голосов
/ 11 февраля 2020

Я пытаюсь go использовать Eventflow для использования на PO C после того, как решил, что не хочу создавать собственную реализацию хранилища событий и Event Hydration. Eventflow выглядит как хороший вариант. В настоящее время я использую Mediatr и, чтобы сохранить минимальный уровень событий, я бы использовал его обработку команд и отправку событий.

Я застрял на одной строке в документации "В системе источника событий, такой как EventFlow, агрегированные данные root сохранено в событиях. "

Означает ли это, что каждый раз, когда событие сохраняется в базе данных / хранилище событий, оно также сохраняет текущий агрегат с его состоянием?

Почему необходимо хранить агрегат с событием? Применение событий при загрузке агрегата должно вернуть состояние, верно?

Также поверьте, если это произойдет, само событие будет довольно легким, и хранилище агрегированных данных сделает его громоздким.

Какой цели он служит?

Я правильно понял утверждение?

ссылки https://eventflow.readthedocs.io/Aggregates.html enter image description here Спасибо,

март

1 Ответ

0 голосов
/ 12 февраля 2020

Ниже приведен результат дальнейшего изучения. Я сделал небольшое тестовое приложение и смог убедиться, что событие сериализовано без совокупной информации. Может быть то, что имел в виду «В системе источника событий, такой как EventFlow, агрегированные root данные хранятся в событиях».
Он хранит AggregateId, AggregateName, но данные содержат только десериализованную информацию из события.

только То, что я вижу сейчас и могу иметь больше, чем требуется, это метаданные. Я не уверен, где он используется, особенно использование заголовка http, другие данные данных уже хранятся в других полях в той же записи (например, порядковый номер и совокупный идентификатор).

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

Я оставлю этот ответ, не принимая его, на всякий случай, если есть лучший с большим количеством информации.

enter image description here

...