281 karma · joined October 2, 2018
Perhaps emitting versioned domain events transactionally with the actor state is an option without prescribing an exact solution.
https://www.microsoft.com/en-us/research/wp-content/uploads/...
Nothing could be relied upon to be deterministic, it was so funny to see it try to do operations.
Recently I re-ran it with newer models and was drastically better, especially with temperature tweaks.
I also don't have to think of my system in a hierarchical supervised manner like earlier actor models. I just need cloud native distributed little objects.
You can see some modern products coming out that are just that:
1. Cloudflare Durable Objects - https://developers.cloudflare.com/durable-objects/
2. Restate Virtual Objects - https://restate.dev/
What you should end up with are plain OOPy objects that mirror the real world. They're not skewed or constrained by their database model. They shouldn't have any dependencies on your infrastructure layer. The object should encapsulate state, behaviour, validity and consistency.
An example (which is probably overkill) would be https://learn.microsoft.com/en-us/dotnet/architecture/micros...
The next post is about modelling an actor and it might provide more insight for you.