Akka演员查找或依赖注入

10

我刚开始使用Akka,无法决定是应该使用依赖注入(如蛋糕模式)还是演员查找来解耦演员之间的关系。哪种方法更受欢迎?

1个回答

20

您应该更倾向于将Actor介绍给彼此,也就是在消息中发送ActorRef或将其传递到构造函数中。如果您选择后者,则可能涉及蛋糕模式,但查找成本更高,因此尽可能使用真实的ActorRef。


我本来也是这么想的,但我计划在初始化阶段使用查找而不是每次需要时都使用。话虽如此,我仍倾向于同意您并使用更经典的依赖注入类型,尽管我没有一个合适的理由。 - Cristian Vrabie
1
关于查找操作更昂贵的评论不仅仅是指运行时成本,实现成本也要高得多,正如您直觉地发现的那样。 - Roland Kuhn
希望有更多的意见和解释。 - Yuri Geinish
1
但是如果Actor重新启动,ActorRef会改变,对吗?所以传递的ActorRef将不再起作用。如果那个Actor被重新启动的话。 - Andrew James Ramirez
3
不,ActorRef在重新启动后仍然有效 - 这是Akka和Erlang之间的区别。只有当actor终止时,ActorRef才会变得无效。 - Roland Kuhn
1
这对于集群化的Akka设置也有效吗? - Alex Khvatov

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接