我正在学习 Akka,并且试图弄清楚如何让演员互相交谈(让我们称他们为Aand B)。这不是请求/响应场景,A并且B随时都在互相发送消息。
目前我有两个兄弟演员,他们在两个方向上互相传递消息。它们都是直接在ActorSystem. 我最初将ActorRefof传递A给B. 但是我不能将 of 传递给ActorRefofB的构造函数,A因为它还不存在,即我不能将此方法用于循环引用。
我一直在阅读actorFor,这可以让我使用它的路径查找演员。但是,我对这种设置并不满意,因为如果路径发生变化,编译器就不会捕捉到它。
另一种选择是,考虑到每个actor都可以访问它的父级,将消息从父级传递到父级,A然后B让父级将消息传递回Aand B。但这会将父级与来回传递的消息类型结合起来。
人们使用什么策略让演员互相了解?我对通过路径查找演员是否过于谨慎?