我正在尝试使用Akka.Net实现订单系统状态机行为。我发现这可以在Akka.Fsm中使用FSM类完成。我的对象状态因请求而异,即一个订单可以处于创建状态,而其他订单可以处于PaymentProcessing状态。 Akka.Net是否支持这种在每个实例上管理状态的行为。也可以在分布式系统中使用它吗?
答案 0 :(得分:1)
使用actor建模DDD的常用方法是每个聚合实例拥有一个actor实例。因此,让两个演员处于两种不同的处理状态是完全自然的行为。如果您希望状态机DSL支持长时间运行的进程中不同actor的化身之间的持久性,您可能需要签出PersistentFSM。
在Akka.Cluster和其他模块的帮助下完全支持Actor发布,例如Akka.Cluster.Sharding。实际情况取决于你想要的控制程度和速度。