A few things I have noted when re-reading "Exploring CQRS and Event Sourcing" http://msdn.microsoft.com/en-us/library/jj554200.aspx :
A. Events can play two different roles in a CQRS implementation: 1) Event Sourcing - as a.p provides to persist the state of an aggregate root, and 2) Communication and Integration - between bounded contexts and with other systems. B. Not all events in a CQRS system are related to an Aggregate Root: "Your event store must have a away to store events that are not associated with an aggregate." page 283, so there needs to be a way to inject events independently of AR persistence. C. There needs to be enough default information associated with events in the event store to allow (re)construction of various different projections after the events were published, i.e. without requiring a priori "labelling" of events for specific projections. These points suggests to me that: 1. To do AR persistence Akka can get by with a "hidden journal" but for full CQRS it may also need to provide access to an Event Store for actors (and other entities) to publish events and to filter the whole event stream directly as needed. That said, perhaps a PersistentActor could publish events not related to its persistence and just ignore them when rebuilding its state. 2. There needs to be more transparent metadata associated with events, beyond a (possibly optional) persistenceId, that isn't just specified with specific projections in mind. I suggest the full type of the event would be a good start (to help with the filtering in 1.). Perhaps also something to help with partial / causal ordering could be included. -- >>>>>>>>>> Read the docs: http://akka.io/docs/ >>>>>>>>>> Check the FAQ: >>>>>>>>>> http://doc.akka.io/docs/akka/current/additional/faq.html >>>>>>>>>> Search the archives: https://groups.google.com/group/akka-user --- You received this message because you are subscribed to the Google Groups "Akka User List" group. To unsubscribe from this group and stop receiving emails from it, send an email to [email protected]. To post to this group, send email to [email protected]. Visit this group at http://groups.google.com/group/akka-user. For more options, visit https://groups.google.com/d/optout.
