Преимущества снимков Ncqrs? - PullRequest
1 голос
/ 30 июля 2011

При подготовке будущего проекта приложения я начал некоторые исследования приложений в стиле CQRS и особенно Ncqrs .

Хотя большинство концепций достаточно ясны, меня немного смущает концепция снимка.

Я понимаю, почему перестройка объекта из его событий может потреблять много ресурсов, но, поскольку денормализатор создаст модель чтения с последним состоянием объекта (или фактически с последними значениями, необходимыми для представления), зачем беспокоиться? с концепцией восстановления объекта из снимков?

Правильно ли я считаю, что такие сценарии возникают только время от времени и по требованию, в основном после обновления версии или отладки?

Если нет, какие были бы хорошие ситуации для создания снимка?

Ответы [ 2 ]

2 голосов
/ 31 июля 2011

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

Извлечение заметок изГрег Янг DDD / CQRS класс он преподавал в прошлом году или около того;это может дать вам некоторые идеи относительно того, откуда он идет, относительно снимков.

Надеюсь, это поможет.Удачи!

0 голосов
/ 02 августа 2011

Снимки полезны, когда в ваших корневых агрегатах большое количество событий (возможно, 1000+?).Но следует учитывать, что в большинстве сценариев ваша совокупность недолговечна и поэтому имеет небольшое количество событий;в этом случае снимки можно рассматривать как раннюю оптимизацию;что не обязательно хорошая вещь.

...