В микросервисе с источником событий я должен сохранить команду или событие в базе данных службы или это одна большая база данных? - PullRequest
1 голос
/ 13 июня 2019

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

Ответы [ 2 ]

1 голос
/ 13 июня 2019

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

Хранение только «команд» работает в некоторых настройках. Например, если вы рассмотрите, что команда из LMAX делится своими проектами, вы увидите, что то, что они писали в свои журналы, было входными сообщениями .

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

Но обычно под event-sourcing подразумевается сохранение представления о состоянии системы - просто вместо того, чтобы перезаписывать нашу структуру данных, мы расширяем ее (представьте себе связанный список изменений). Сохраняемые нами изменения, как правило, являются наблюдаемыми эффектами входных данных, а не только исходных данных.

0 голосов
/ 13 июня 2019

В архитектуре Event Sourcing события являются источником вашего состояния. Поэтому вам нужно хранить события - факты, записанные в вашей системе.

...