Skip to content

dynamic consistency boundary #87

@TomKaltz

Description

@TomKaltz

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.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions