Akka 阿克卡的数据共享

Akka 阿克卡的数据共享,akka,Akka,我正在使用Akka处理一个应用程序。我有一个场景,参与者将从数组或列表中的数据库中获取某些值。子参与者将引用此列表,但不允许他们修改或更新此列表 有什么方法可以在参与者之间共享数据吗?只需使父参与者从数据库填充的列表不可变即可。然后,家长可以与孩子们分享这个列表,而不必担心随之而来的陷阱。子参与者可以向家长索要列表,家长可以通过消息传递将列表发送给孩子。演员可能看起来像这样: case对象GetFromDb 案例对象获取列表 案例对象处理列表 类ParentActor扩展了Actor{ var

我正在使用Akka处理一个应用程序。我有一个场景,参与者将从数组或列表中的数据库中获取某些值。子参与者将引用此列表,但不允许他们修改或更新此列表


有什么方法可以在参与者之间共享数据吗?

只需使父参与者从数据库填充的列表不可变即可。然后,家长可以与孩子们分享这个列表,而不必担心随之而来的陷阱。子参与者可以向家长索要列表,家长可以通过消息传递将列表发送给孩子。演员可能看起来像这样:

case对象GetFromDb
案例对象获取列表
案例对象处理列表
类ParentActor扩展了Actor{
var fromDb:List[Something]=List()
def接收={
案例GetFromDb=>
//查询数据库并用新列表替换fromDb
fromDb=/。。。
案例GetList=>
发件人()!fromDb
}
}
类ChildActor(父:ActorRef)扩展了Actor{
def接收={
案例处理列表=>
//从父级获取列表
父!获取列表
case fromDb:List[某物]=>
//对清单做点什么
}
}

在上面的示例中,参与者按原样传递一个不可变的列表,但是如果您愿意,该列表可以很容易地放在case类中。还请注意,子参与者将引用父参与者作为构造函数参数,但子参与者也可以使用
context.parent
获取对其父参与者的引用。

是否同时需要并发和非并发?感谢您的回复。我担心这份名单可能很难通过邮件发送。我在读关于“在Akka中使用复制器的分布式数据”的概念。我可以用这个来存储列表吗