我们可以在基于参与者的系统中拥有全局状态吗?

问题描述 投票:0回答:1

actor模型的最大优点之一是消除了锁定(actor独立且串行地运行)。这是否意味着我们在actor系统中根本无法拥有任何共享/全局状态(因为访问/更新会带来锁)?

更实际地说,从这样的系统中的多个参与者对实体(例如DB)进行更新会发生什么?

akka actor actor-model
1个回答
0
投票

Actor模型旨在以另一种方式解决任何可变共享状态的问题-Actor应该封装它。因此,如果您需要在参与者之间共享某些内容,则应该是具有这种状态和协议的参与者才能使用它。如果您想从其他参与者中更新数据库,请提取一个负责此工作的参与者,并为其他参与者提供API或协议以更新数据库。

希望这会有所帮助!

© www.soinside.com 2019 - 2024. All rights reserved.