ryan-mars / stochastic

TypeScript framework for building event-driven services. Easily go from Event Storming → Code.
MIT License
6 stars 1 forks source link

Discussion: Sentinel #97

Open ryan-mars opened 3 years ago

ryan-mars commented 3 years ago

This issue is for discussion of the Sentinel Concept

Policies can maintain their own state? Reminds me of our Sentinel concept. @sam-goodwin

Early on I wondered if we should have policies that maintain state and I wondered if this could be done using Step Functions. Our discussions are pointing in the direction that there is a special kind of Policy that watches a Read Model for work. This fills an important gap in implementing Event Sourced applications where eventual consistency can lead to "work not done" or "cleanup" required in some business processes. It seems like this centers around some kinds of race condition (e.g. assigning time-sensitive work to an employee who just went on break).

During Event Storming I propose that this be treated as a simple Policy (lilac sticky note) however during implementation we differentiate between Stateless and Stateful Policies.