In CQRS (event-sourced), do you need a global sequence counter in the event store?

In general it is bad idea to enforce global order. Aggregates are meant to form ACID-semantics boundaries.

In general it is bad idea to enforce global order. Aggregates are meant to form ACID-semantics boundaries. This means that two aggregates should not be updated in one transaction and there is no other means of enforcing global order.In your case it could make sense that along with creating CustomerCreatedEvent Customer should send a message to Agent aggregate telling it to assign itself.

Generally inter-aggregate communication should be done via messaging.

Thanks Szymon, I thought that was the most likely case! – Jon M Jun 2 '10 at 12:33.

I also found this post by Greg Young on the domaindrivendesign yahoo list: Order is only assured per a handler within an aggregate root boundary. There is no assurance of order between handlers or between aggregates. Trying to provide those things leads to the dark side.

I cant really gove you an answer,but what I can give you is a way to a solution, that is you have to find the anglde that you relate to or peaks your interest. A good paper is one that people get drawn into because it reaches them ln some way.As for me WW11 to me, I think of the holocaust and the effect it had on the survivors, their families and those who stood by and did nothing until it was too late.

Related Questions