-
Notifications
You must be signed in to change notification settings - Fork 6
Description
While experimenting more with the process manager 68 I realize that it's operation resembles an idea I saw talked about recently regarding dynamic consistency boundaries. The eventually process manager uses this style of decision making but in eventually the logic must be implemented outside of the aggregate entity.
I've thought about this issue before when facing aggregate contention issues. It may be true that not all commands need the whole state when making a decision and the events emitted by those decisions may be allowed to skip an aggregate-level concurrency check and use a more granular concurrency check similar to what is depicted in the above article.
Of course Sara's concept is meant to kill the aggregate completely but I think the aggregate is still a good container for this sort of logic. Perhaps the aggregate interface could be extended to allow per-command options to be passed that would enable this sort of granular consistency control. Obviously the event store would also need to handle this sort of extended concurrency control.
Just brainstorming here.