Вопросы с тегом «event-sourcing»

20
ES / CQRS обработка параллелизма

Недавно я начал погружаться в CQRS / ES, потому что мне может понадобиться применить его на работе. Это кажется очень многообещающим в нашем случае, поскольку это решило бы много проблем. Я набросал свое грубое понимание того, как приложение ES / CQRS должно выглядеть в контексте с упрощенным...

17
Event Sourcing и REST

Я сталкивался с дизайном Event Sourcing и хотел бы использовать его в приложении, где требуется клиент REST (точнее, RESTful). Однако мне не удается соединить их вместе, поскольку REST очень похож на CRUD, а источник событий основан на задачах. Мне было интересно, как вы можете создавать команды на...

17
При использовании DDD и CRQS должно быть ровно одно событие на команду?

Я ищу способ разработки приложения DDD с соглашением по конфигурации. Скажем, агрегат «Клиент» имеет команду, определенную как «FillProfile». Это будет логически вызывать событие «ProfileFilled». Существуют ли случаи, когда команда будет вызывать больше, чем событие, или когда команда будет...

15
DDD, Saga и Event-Sourcing: может ли действие компенсации просто быть удалено из хранилища событий?

Я понимаю, что вышеупомянутый вопрос, вероятно, поднимает несколько вопросов «что?», Но позвольте мне попытаться объяснить: Я пытаюсь обдумать несколько взаимосвязанных концепций, в основном шаблон Saga ( http://www.rgoarchitects.com/Files/SOAPatterns/Saga.pdf ) в сочетании с Event-sourcing...

15
Почему Protobuf 3 сделал все поля в сообщениях необязательными?

Синтаксис 3 protobuf сделал все поля необязательными, исключая ключевые слова requiredи optionalиз предыдущего синтаксиса proto2. Читая некоторые комментарии разработчиков, кажется, что это было сделано для улучшения прямой / обратной двоичной совместимости. Но для меня это может быть реализовано...

14
Как реализовать менеджер процессов в источнике событий

Я работаю над небольшим примером приложения, чтобы изучить концепции CQRS и источников событий. У меня есть Basketагрегат и Productагрегат, которые должны работать независимо друг от друга. Вот некоторый псевдокод, чтобы показать реализацию Basket { BasketId; OrderLines; Address; } // basket events...

14
Повторное увлажнение агрегатов из проекции «моментальных снимков», а не из хранилища событий

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

14
Как бороться с побочными эффектами в Event Sourcing?

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

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

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

13
Сохранение высокочастотных событий в базе данных с ограничением соединения

У нас есть ситуация, когда мне приходится иметь дело с огромным потоком событий, поступающих на наш сервер, в среднем около 1000 событий в секунду (пик может составлять ~ 2000). Проблема Наша система размещена на Heroku и использует относительно дорогую базу данных Heroku Postgres , которая...

13
В чем разница между управляемым событиями и источником событий?

Я изучаю предметно-ориентированное проектирование (DDD) и натолкнулся на термины: Event Driven и Event Sourcing. Я знаю, что это публикация события от производителя к потребителю и хранение журнала, поэтому мой вопрос: В чем разница между управляемым событиями и источником...

12
Шаблоны для поддержания согласованности в распределенной системе источников событий?

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

12
Источник событий и постоянство

Я читаю на источники событий и у меня есть вопрос относительно настойчивости. Я все еще могу иметь БД со всеми сущностями, верно? Или события должны воспроизводиться при каждом запуске приложения, чтобы получить последнюю версию каждого объекта в памяти? Похоже на отходы в больших системах (как в...

12
CQRS + Event Sourcing: (верно ли это) Команды обычно передаются точка-точка, в то время как события домена передаются через pub / sub?

Я в основном пытаюсь обернуть голову вокруг концепции CQRS и связанных понятий. Хотя CQRS не обязательно включает в себя Messaging и Event Sourcing, кажется, что это хорошая комбинация (как видно из множества примеров / блогов, объединяющих эти концепции) Учитывая вариант использования для...

11
Как команды Add / Create * должны обрабатываться в архитектуре CQRS + Event Sourcing

Я хочу реализовать свое первое приложение, используя шаблон CQRS вместе с Event Sourcing. Мне интересно, как с созданием совокупных корней нужно обращаться правильно. Допустим, кто-то отправляет команду CreateItem. Как это должно быть обработано? Где должно храниться событие ItemCreated? Как первое...

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

Я пытаюсь изучить способы DDD и смежных предметов. Мне пришла в голову идея простого ограниченного контекста для реализации «банка»: есть счета, деньги можно вкладывать, снимать и переводить между ними. Также важно вести историю изменений. Я идентифицировал сущность Аккаунта, и было бы полезно...

10
Как создать новый агрегатный корень в CQRS?

Как мы должны создавать новые агрегатные корни в архитектуре cqrs? В этом примере я хочу создать новый совокупный корневой AR2, который содержит ссылку на первый AR1. Я создаю AR2, используя метод AR1 в качестве отправной точки. Пока что вижу несколько вариантов: Внутри метода в AR1...

10
Как обрабатывать побочные эффекты в CRQS при воспроизведении событий?

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

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

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

9
Где должен быть полностью инициализирован объект в CQRS + ES: в конструкторе или при применении первого события?

Похоже, что в сообществе ООП широко распространено мнение, что конструктор класса не должен оставлять объект частично или даже полностью неинициализированным. Что я имею в виду под «инициализацией»? Грубо говоря, атомарный процесс, который приводит вновь созданный объект в состояние, в котором...