scala - 在akka中输入消息

标签 scala akka

Akka 框架建议仅将类型化的 Actor 用于与外部代码交互。但是,来自 akka 的标准 Actor 是无类型的。有没有更好的方法来创建类型安全的 Actor ?是否有其他一些 Actor 框架或围绕 akka 的类型安全包装器?

最佳答案

如果您真的想要具有静态类型的转换,那么您不妨继续在整个代码中使用类型化的 Actor 。出于几个原因,强烈建议不要这样做。

1.) 您冒着系统退化为一堆 RPC 的风险。 Actor 的接收方法很明显整个事情都是关于消息传递的,如果你只是在一个类型化的 Actor 上调用方法,那就更不用说了。

2.) Actor 真的没有类型。在运行时,actor 能够处理的消息可能会根据所处的状态而变化,就像它对这些消息所做的那样。这是对许多协议(protocol)进行建模的绝佳方式,Akka Actor 使用 FSM 对其提供一流的支持。

所以如果你真的想这样做,你可以在任何地方自由使用类型化的actors,它会起作用,但你应该在这样做之前认真考虑你要解决的问题。

关于scala - 在akka中输入消息,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11284507/

相关文章:

scala - Oracle Slick 驱动程序支持流吗?

scala - 喷雾路线得到童星回应

java - 2.1.1 中的 Akka 库中不存在 IndirectActorProducer 类

java - 使用对象数组在 Scala 中调用 java.lang.reflect.Method

scala - 惯用的 Scala 从集合 A 构建集合 B

actor - 如何确定在 akka 中产生的 Actor 数量?

java - 如何在 Java 中使用 AKKA 实现发布/订阅系统(服务器推送)?

akka - akka Scheduler 是单例吗?

scala - 可以使用 scalaz Arrow 组合吗?

scala - 将笛卡尔坐标组分组到apache Spark中的单元格