【发布时间】:2017-07-04 13:50:30
【问题描述】:
假设我已将我的 Employee 实体表示为演员。我有 2 个服务也被建模为演员。它们都通过向其发送消息来操纵它收到的 Employee Actor 的状态。现在假设这两个服务都在处理同一个actor。现在,员工参与者完全有可能按照以下顺序从两个服务 A 和 B 接收状态更改消息
Employee <- |a1|a2|a3|b1|b2|b3|
这很好。但有时它不是
Employee <- |a1|b1|a2|b2|a3|b3|
也许a2 依赖于a1 更改的状态,但b1 更改了它
类似于数据库,我们有事务,因此我们可以在整个事务生命周期中使用数据的单个快照/版本。
在命令式模型中,我们将锁定整个员工对象并更新其状态,类似于数据库的操作方式。
那么,演员是否有可能接收将作为一个原子系列消息处理的批量消息?还是我对数据本身的建模存在缺陷?
【问题讨论】:
标签: concurrency actor