thenativeweb / node-cqrs-domain

Node-cqrs-domain is a node.js module based on nodeEventStore that. It can be very useful as domain component if you work with (d)ddd, cqrs, eventdenormalizer, host, etc.
http://cqrs.js.org/pages/domain.html
MIT License
269 stars 57 forks source link

Cassandra for event storage #32

Closed TomKaltz closed 9 years ago

TomKaltz commented 9 years ago

Any thoughts on using distributed data storage engine for the event store?

adrai commented 9 years ago

Why not? Feel free to do a pull request...

TomKaltz commented 9 years ago

I'm interested in your thoughts regarding revision guard with distributed systems.

On Wed, Feb 25, 2015 at 3:41 PM, Adriano Raiano notifications@github.com wrote:

Why not? Feel free to do a pull request...

— Reply to this email directly or view it on GitHub https://github.com/adrai/node-cqrs-domain/issues/32#issuecomment-76051706 .

adrai commented 9 years ago

Which revisionGuard? Not in the domain, but in the denormalizer?

TomKaltz commented 9 years ago

Ah yes I am a bit lost here. I am still getting to know the world of CQRS.

On Wed, Feb 25, 2015 at 3:46 PM, Adriano Raiano notifications@github.com wrote:

Which revisionGuard? Not in the domain, but in the denormalizer?

— Reply to this email directly or view it on GitHub https://github.com/adrai/node-cqrs-domain/issues/32#issuecomment-76052777 .

adrai commented 9 years ago

The revisionGuard has 2 tasks to solve: dedublicate events and reorder incomming events. If you can guarantee this in your messaging system you don't need a revisionGuard. Assuming you need the revisionGuard: When scaling the denormalizer process and you do not guarantee that the events of an aggregate goes to the same process (some sort of stickiness) you must check for some concurrency cases...

We do use revisionGuards in our distributed systems and we don't see any problem right now...

...what is the intent of you question? Did I catch what you asked for? Sorry I'm a little bit tired today...

TomKaltz commented 9 years ago

Adriano, thanks a lot. My question regarded the general concerns of concurrency in CQRS and distributed systems and was off-topic. Thanks for clarifying what did. Your knowledge is greatly appreciated.

On Wed, Feb 25, 2015 at 4:35 PM, Adriano Raiano notifications@github.com wrote:

The revisionGuard has 2 tasks to solve: dedublicate events and reorder incomming events. If you can guarantee this in your messaging system you don't need a revisionGuard. Assuming you need the revisionGuard: When scaling the denormalizer process and you do not guarantee that the events of an aggregate goes to the same process (some sort of stickiness) you must check for some concurrency cases...

We do use revisionGuards in our distributed systems and we don't see any problem right now...

...what is the intent of you question? Did I catch what you asked for? Sorry I'm a little bit tired today...

— Reply to this email directly or view it on GitHub https://github.com/adrai/node-cqrs-domain/issues/32#issuecomment-76065377 .