Запитання з тегом «event-sourcing»

3
Як поводитися з побічними ефектами в CRQS під час відтворення подій?
Кажуть, що в CQRS виправити помилку легко, ви просто перерозподіліть і потім повторно відтворюєте події. Але що робити, якщо одна з подій повинна призвести до того, що зовнішня система, яка не перебуває у вашому контролі, "відправить товар" замовнику, якщо ви просто повторите події, предмет буде доставлений двічі. Як ви вирішуєте …

2
Як створити новий агрегатний корінь у CQRS?
Як нам створити нові сукупні корені в архітектурі cqrs? У цьому прикладі я хочу створити новий сукупний корінь AR2, який має посилання на перший AR1. Я створюю AR2, використовуючи метод AR1 як вихідну точку. Поки що я бачу кілька варіантів: Метод всередині AR1 createAr2RootOpt1я міг викликати new AR2()та зберегти цей …

3
Розподіл подій, одна подія, стан двох агрегатів змінилися
Я намагаюся вивчити способи DDD та суміжних предметів. Я придумав простий обмежений контекст для реалізації "банку": є рахунки, гроші можна здати на зберігання, зняти та перерахувати між ними. Також важливо зберігати історію змін. Я визначив організацію облікового запису, і джерело пошуку подій було б добре відстежувати зміни в ньому. Інші …

1
Чи джерела подій є лише тоді, коли записи рідкісні?
Я читаю про пошук подій і не можу перестати запитувати себе, чи має сенс це лише в екзотичних ситуаціях, коли записи дуже рідкісні або потрібен аудит військового рівня. Невиключна система з будь-яким значним використанням може виробляти між сотнями і тисячами записів на день, перекладаючи, скажімо, на мільйон або два записи …

4
Де об'єкт в CQRS + ES повинен бути повністю ініціалізований: в конструкторі або при застосуванні першої події?
У спільноті OOP, як видається, існує широка думка, що конструктор класів не повинен залишати об'єкт частково або навіть повністю неініціалізованим. Що я маю на увазі під "ініціалізацією"? Грубо кажучи, атомний процес, який приводить новостворений об'єкт у стан, у якому тримаються всі його класові інваріанти. Це має бути першим, що трапляється …
Використовуючи наш веб-сайт, ви визнаєте, що прочитали та зрозуміли наші Політику щодо файлів cookie та Політику конфіденційності.
Licensed under cc by-sa 3.0 with attribution required.