阿卡actorFor与传递一个ActorRef(Akka actorFor vs passing a

2019-07-30 19:30发布

我正在学习阿卡,我试图找出如何让参与者互相交谈(我们姑且称之为AB )。 这不是一个请求/响应情景中, AB正在发送随时彼此消息。

目前,我已经得到了在两个方向上相互传递消息的两个兄弟的演员。 他们既对直接创建ActorSystem 。 我最初通过ActorRefA成的构造B 。 但我不能通过ActorRefB到的构造A ,因为它不存在,即我不能用这个方法循环引用。

我一直在阅读有关actorFor ,这将让我查找使用它的路径中的演员。 不过,我不舒服的这种设置,因为如果路径发生变化,也不会由编译器捕获。

另一种选择,考虑到每一个演员可以访问到它的父,是通过从消息AB的父母,然后让家长将消息传递回落到AB 。 但是,这夫妻父的消息类型被来回传递。

什么是策略是利用制作者知道对方的人呢? 我是不是过于谨慎,通过路径查找演员?

Answer 1:

我个人认为有三个策略,这是我从您的问题越接近列表(也对我来说最糟糕的模式,我很抱歉)

策略1:创建一个演员和演员B,通过actorRef A到B.演员你乒乓将从演员乙发送消息给演员一个开始,和演员A的构造函数可以简单地应答中使用发件人参考。 (或其他周围的方式)


策略2:在创建应用程序中的层,负责命名的护理:它在创建演员的分配名称,以及查询时。 这集中在一个点的问题。


策略3:你不知道两兄妹演员扮演乒乓球不更换一个更好的,更模块化的演员层级结构,其中基本上每个演员与他的父母和他的孩子只有沟通,并没有关于他的兄弟姐妹的知识。



文章来源: Akka actorFor vs passing an ActorRef
标签: scala akka