--
You received this message because you are subscribed to the Google Groups "DDD/CQRS" group.
To unsubscribe from this group and stop receiving emails from it, send an email to dddcqrs+u...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
One think I do not like though is the direct access to the event store, because now multiple BCs (microservices) will be subscribing to some piece of infra, for instance GES.But I don't care to much, because, we have got the same problem with message brokers.Could you think of a good reasons to keep sending eventually consumed messages over the wire ?
I couldn’t parse exactly what you meant, but here are a couple of bits about our implementation.
It seems potentially wasteful to send out each new event from an event store to every subscriber, especially if there are a lot of subscribers. It is also frustrating to have subscribers poll an event store, and slightly complex to implement many subscribers keeping an open connection to be notified of new events. So we took a different approach, and optimization that uses JGroups to multicast events out. A monotonic sequence number enables every recipient to make sure that it still strictly in order; and in case of a missed message, any subscriber can ask the event store for what it needs at any time.
It also seems potentially wasteful to transmit a potentially very large number of events to a subscriber, and then transmit them all again if that subscriber is a CQRS projection restarted from time to time. It is straightforward to implement local caching of such events. As Greg points out repeatedly here, and his videos, and everywhere, events never change and therefore are utterly cacheable.
Might be an ignorant remark but is exposing your event store to multiple BC's not the same as sharing your database?
Communication between BC's depends on the kind of relationship between these BC's IMO
Stijn
Might be an ignorant remark but is exposing your event store to multiple BC's not the same as sharing your database?
GES and its subscribers use a push model if the subscribers are caught
up, not a pull model. If a subscriber falls behind it resorts to the
pull model automatically (and switches back if caught up
automatically)
You may want to watch out for what you're coupling yourself to intra-BC. Contracts will require a different pace of versioning in that area.
--
You received this message because you are subscribed to the Google Groups "DDD/CQRS" group.
To unsubscribe from this group and stop receiving emails from it, send an email to dddcqrs+u...@googlegroups.com.
For more options, visit https://groups.google.com/d/optout.
It seems potentially wasteful to send out each new event from an event store to every subscriber, especially if there are a lot of subscribers. It is also frustrating to have subscribers poll an event store, and slightly complex to implement many subscribers keeping an open connection to be notified of new events. So we took a different approach, and optimization that uses JGroups to multicast events out. A monotonic sequence number enables every recipient to make sure that it still strictly in order; and in case of a missed message, any subscriber can ask the event store for what it needs at any time.