Possible Duplicate:
Good use case for Akka
我了解为什么将AKKA actors框架用于embarrassing parallel问题是有意义的。
不涉及大量计算并且根本不需要并行化但仍然高度分散的问题呢?例如,成千上万个可以增加或减少特定计数器的分布式客户端?
最佳答案
除了明显的可分布性和可伸缩性参数外,其他方面对于参与者也非常有用。
actor模型允许消息传递和错误处理之间完全脱钩。这两个在传统的OO中紧密地编织在一起。调用方法时,您将获得返回值,但还必须处理所有可能的错误。当您向演员发送消息时,您只会获得响应,而所有失败都由演员的主管处理。
另一个好处是改进了封装:在“普通” OO中,您通常会看到对象上暴露了太多东西,如果没有,您仍然可以使用反射。 Akka演员是完全封装的(除非您通过发送“ this”引用作弊),除了演员本身之外,没有其他人会搞乱国家。
结合上一点,消息接收是演员行为的唯一切入点,这一事实使他们比普通的OO代码更容易推理,在普通的OO代码中,每种公共(或受保护的)方法都可以用作入口。您不需要并发这些调用即可错过计划外的交互。
关于architecture - 用于AKKA Actor 框架吗? ,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/12956972/