3 ms·
But what is the distinction between what Fowler describes and what I describe? There's not really a contradiction with what you describe either. I have a disti
by jmull 8y ago
But what is the distinction between what Fowler describes and what I describe? There's not really a contradiction with what you describe either.
I have a distinct write store and read store, with very different models. As you say, the write store is the source of truth. Since the read store is updated synchronously with the write store there's no need for a queue between them. Indeed there are also multiple projections for different client needs (e.g. the pace chart, vs. workout progress), though in this case I don't generally need them until after the sequence of events is complete, which simplifies things.
Maybe we're just have a pointless debate on semantics, in which case, never mind.
It's just that I see this as a quite valuable pattern without necessarily bringing distributed stores into it. Indeed, part of its value is that you can start simple and later extend it to a scaling distributed system without disrupting the whole pattern.
- hvidgaard 8y agoYou're right. Nothing about CQRS demands any kind of asynchronization or distributed system. It is quite simply a system where you have different models for updating and querying the system. You don't even need to have an event store for it to be a CQRS system, but it makes so much sense that I have a hard time imaging using CQRS without and ES of some kind.