The tag has no usage guidance.

learn more… | top users | synonyms

4
votes
3answers
46 views

In CQRS/ES, can a command create another command?

In CQRS/ES, a command is sent from the client to the server and routed to the appropriate command handler. That command handler loads an aggregate from its repository, and calls some method on it, and ...
4
votes
1answer
75 views

Patterns for maintaining consistency in a distributed, event sourced system?

I've been reading on event sourcing lately and really like the ideas behind it but am stuck with the following problem. Let's say you have N concurrent processes which receive commands (e.g. web ...
5
votes
2answers
45 views

How can I protect an EventSourced aggregate from user-generated event storm?

Let's say you're building a social web app where an aggregate root (f.e. BlogPost) could be liked and unliked. Now consider a malicious user who wrote a script to perform an endless amount of like and ...
4
votes
2answers
93 views

Database design, processor vs inconsistency

I was wondering, if I have a table that stores, lets say, a user's transactions, then when I need to fetch the user's current balance I would have to go and use SUM() like SELECT SUM(value) FROM ...
1
vote
2answers
217 views

Event sourcing, replaying and versioning

I am designing a system that uses Event Sourcing, CQRS and microservices. I am lead to understand this isn't an uncommon pattern. A key feature of the service needs to be the ability to ...
1
vote
3answers
101 views

Event Sourcing and cross-context aggregate

I had this idea of different write models being used in different bounded contexts, but both being the same aggregate instance (the same events). For example consider a User aggregate that is used ...
7
votes
1answer
188 views

Is event sourcing only for when writes are rare?

I'm reading up on event sourcing and can't stop asking myself if it only makes sense in exotic situations where writes are very rare or military-grade auditing is required. A non-exceptional system ...
2
votes
1answer
150 views

Event Sourcing + Updates to multiple aggregates

I'm trying to learn about event sourcing for potential application to a booking system I am building - I think I understand the core concepts, but I'm having trouble understanding how to handle cases ...
1
vote
3answers
275 views

CQRS and DDD terminology

Since CQRS and DDD do not imply one another I was curious what terms belong to DDD and what terms belong to CQRS. Because the two concepts are so much used together in the literature I usually mix ...
2
votes
1answer
155 views

Can “REST without PUT” support optimistic locking using ETags?

Rest without PUT models immutable, append-only (event-sourced) state changes by favouring POST-ing new reified change resources over PUT-ing updates to original. Example: making and then changing a ...
1
vote
1answer
53 views

How to update an event log in case of new events

In CQRS with Event Sourcing, if the current domain lacks a feature so it has to be extended with a new command (sent from a new saga) and an event (sent by the aggregate handler of that command), how ...
1
vote
1answer
67 views

Aggregate root with many fields

I'm struggling with this problem for a long time now. Lets say that I'm trying to model some business that has Customers, Companies, Contracts, Invoices etc. All of them looks like good candidate for ...
1
vote
2answers
208 views

Persistence models for Event Sourcing

I am intrigued by the Event Sourcing pattern but am struggling to design an event sourcing model and put it in concrete form. First off, I want to make sure that I understand the main use cases of ...
2
votes
3answers
100 views

How do you combine licensed data and event sourcing?

Hypothetical problem, inspired by How to query Aggregate Root to react to event from other AR How should an event sourced application handle data, where the license to that data can expire? Example: ...
4
votes
1answer
173 views

How to query Aggregate Root to react to event from other AR

I want to create a little GPS tracking program. Simplified: Users can create Tracks. To make things scale Track and User are two separate AR's. Track contains an AuthorUser which it refers to by ...
2
votes
2answers
124 views

Deleting subtrees in hierarchical agreggates

I am working on a file-system-like application where I use CQRS/event-sourcing to handle the state of folders and files (creating, moving, renaming, etc). Each node (folder or file) is represented by ...
2
votes
1answer
305 views

Event Sourcing , sagas, bus and eventual consistency

I am currently learning about Event Sourcing via the book Microsoft .NET - Architecting Applications for the Enterprise. Event sourcing is, in my own words, an architectural pattern of storing ...
1
vote
2answers
179 views

What are the differences between Event Sourcing and Service Layer pattern?

I am reading a book on architecting enterprise applications. In this book the Event Sourcing pattern is introduced which can be used as the "command" part of a Command and Query Responsibility ...
1
vote
0answers
37 views

Propagating events between applications [closed]

For a long time our time is discussing about propagating global events between applications that could (but don't have to) be on different servers. We have few solutions but we can't find perfect one. ...
5
votes
2answers
389 views

CQRS: How to restore read model

It's very interesting how to restore read model in system based on CQRS. In regular mode system processes commands, creates domain events and posts them to message bus. Then another part of system ...
2
votes
1answer
101 views

Event sourcing – finding aggegate by different property than ID

Is there any mechanism or best practise for finding aggregates by different property than aggregate ID? I'll try to explain my question on example. There is Cart aggregate (event-sourced) and ...
2
votes
2answers
194 views

Domain driven design with eventual consistency

My domain aggregate is struggling with simple business logic so I feel like I have modeled it incorrectly. The architecture I have right now uses domain driven design with event sourcing. The domain ...
0
votes
2answers
80 views

How to model complex event in event sourcing?

Lets say that we have a user (like super-hero) that want to see all wars that is going on in a world so that he can stop them. He can't prevent them all, because he needs to sleep sometimes and so on. ...
1
vote
0answers
154 views

Is Event sourcing a good fit for database sync (master-multiple-slaves)?

I'm looking for a good way to maintain in sync local sqlite databases that could be offline to a master one, for a invoice app. Then I read about EventSourcing and Log structured storage and wonder ...
1
vote
1answer
306 views

How to handle duplicate events when replaying event store?

If two aggregates are listening to the same event; then the event will be stored in an event store twice, once for each aggregate. class ItemLoaded implements Event { LocationId location; ...
11
votes
2answers
1k views

Event sourcing and REST

I came across Event Sourcing design and I would like to use in an application where a REST client is needed (RESTful to be precise). However I fail to connect these together as REST is quite CRUD-like ...
5
votes
3answers
244 views

Which events to store with event-sourcing?

I'm planning out the events that my application will be creating, but am running into problems with my design. I believe I'm not applying the event-sourcing concepts correctly. Take the bank account ...
2
votes
1answer
622 views

Event sourcing - performance penalty? [closed]

I am trying to convince people in my company that we should switch to event sourcing. Our software is a product that consist of many modules - like a module for wiki, blogs, documents, etc. I would ...
4
votes
2answers
367 views

At what granularity are events recorded in Event Sourcing?

I'm growing my understanding of event sourcing. My understanding is that it provides a means of recording events as they happen so that given a common beginning state and an audit log of recorded ...
1
vote
1answer
197 views

What should the payload of a “domain event” generated through “change data capture” include?

Using domain driven design and event sourcing ... Given I have a table of 3 columns: (A, B, C) with an existing row of data: (1, 2, 3), when I update the row to contain values (1000, 2, 3) and I run ...
4
votes
1answer
1k views

Fire domain events after transaction completes

I am trying to implement a domain event system that only fires its events when the associated unit-of-work commits successfully. The main reason why I want to do this is because I have other ...
2
votes
2answers
320 views

Version hash to solve Event Sourcing problems

The basic examples I have seen about Event Sourcing do not deal with out of order events, clock offsets in different systems and late events from system partitions. I am wondering if more polished ...
2
votes
1answer
137 views

In event sourcing, is it ok to introduce a dependency in my message class?

Following Martin Fowler's explanation on event sourcing, I have a message class that looks something like this: ShippingEvent { Process(Ship ship) {} } However, in my case, I need to talk to ...
4
votes
1answer
2k views

How Add/Create* commands should be handled in CQRS + Event Sourcing architecture

I want to implement my first application using CQRS pattern along with Event Sourcing. I am wondering how creation of aggregate roots should be handled properly. Let's say someone sends CreateItem ...
1
vote
1answer
403 views

Should I really need to implement event sourcing is this case?

An example of use case when event sourcing is applicable here whose excerpt is: Say, something went wrong in your app and as a result, a user gets blocked for abuse but that user claims to not ...
6
votes
4answers
473 views

Where should an object in CQRS+ES be fully initialized: in the constructor, or when applying the first event?

There appears to be widespread agreement in the OOP community that the class constructor should not leave an object partly or even fully uninitialized. What do I mean by "initialization"? Roughly ...
1
vote
2answers
2k views

Audit trails and recording actions

Background A discussion that has come up at work recently is how we handle audit logging and the recording of events. We are integrating with a 3rd party app so triggers are a no no from the off so ...
6
votes
5answers
339 views

design for interruptable operations

I couldn't find a better topic but here it is; 1) When user clicks a button, code starts t work, 2) When another button is clicked, it would stop doing whatever it does and start to run the second ...
8
votes
3answers
3k views

Event sourcing and persistence

I'm reading up on event sourcing and have a question regarding persistence. I can still have a DB with all entities, right? Or should the events be replayed every time the application is started to ...
4
votes
2answers
770 views

Inheritance, commands and event sourcing

In order not to redo things several times I wanted to factorize common stuff. For Instance, let's say we have a cow and a horse. The cow produces milk, the horse runs fast, but both eat grass. ...
4
votes
2answers
1k views

Distributed application using RabbitMQ

I am on my way to create an application with 4 bounded context using CQRS & event sourcing. In order to make these bounded context talk to each other I was planning on using Rabbit MQ. My ...
4
votes
1answer
2k views

CQRS + Event Sourcing: (is it correct that) Commands are generally communicated point-to-point, while Domain Events are communicated through pub/sub?

Didn't know how to shorten that title. I'm basically trying to wrap my head around the concept of CQRS ( http://en.wikipedia.org/wiki/Command-query_separation) and related concepts. Although CQRS ...
10
votes
3answers
5k views

DDD, Saga & Event-sourcing: Can a Compensate Action simply be a delete on the event store?

I realize the above question probably raises a few 'what??'s, but let me try to explain : I'm trying to wrap my head on a couple of related concepts, basically the Saga-pattern ( ...
6
votes
1answer
778 views

Is event sourcing ready for prime time? [closed]

Event Sourcing was popularized by LMAX as a means to provide speed, performance scalability, transparent persistence and transparent live mirroring. Before being rebranded as Event Sourcing, this type ...
12
votes
3answers
2k views

Are Domain Objects in Domain Driven Design only supposed to be write-only?

I've been reading about Domain Driven Design for almost two years and have been cautiously been introducing some concepts in to my daily work or at least making plans for how things I do regularly ...
2
votes
2answers
274 views

Backward compatibility with event-sourcing

How do you stay backward compatible with event-sourcing? Let say you release a version that has one kind of event, let call it X. You know how to handle that event in all the systems that extracts the ...
2
votes
2answers
453 views

How do you end up with event-sourcing if you use a xDD approach?

When working in a TDD or BDD manner your unit tests are supposed to drive your design. But how do you end up with event-sourcing using a xDD techniques? As I see it event sourcing is something you ...