假设我已将Employee Employee实体表示为actor。我有2个服务也被模仿为演员。他们两个都通过发送消息来操纵收到的员工的状态。现在我们假设两个服务正在处理同一个actor。现在,它是完全可能的雇员演员按以下顺序接收来自两个服务的一个状态改变的消息和B如何在actor模型中实现MVCC
Employee <- |a1|a2|a3|b1|b2|b3|
这是好的。但有时它不是
Employee <- |a1|b1|a2|b2|a3|b3|
也许a2
是依赖于a1
状态发生了改变,但b1
改变了它
类似于数据库中,我们有交易使我们可以与单个快照/版本工作在整个交易周期内的数据。
在命令模式中,我们将锁定整个员工对象并更新其状态,类似于数据库将如何执行它。
那么演员是否有可能收到散装消息,这些散装消息将作为一个原子序列消息进行处理?或者,我对数据本身的建模是否有缺陷?
这就是我结束了。无论我在事务块中写入什么变化,我都会使用单个消息发出完全执行该事务的消息!谢谢! –