akka在哪个方面是实时的?

时间:2013-01-24 23:22:28

标签: scala real-time akka actor definition

在几个地方有一种状态,即akka在某种程度上是“实时的”。 E.g:

http://doc.akka.io/docs/akka/2.0/intro/what-is-akka.html

不幸的是,我无法找到akka“实时”的更深层次的解释。所以这就是问题:

akka实时以哪种方式?

我认为akka在以下定义意义上并不是真正的实时计算系统,不是吗?:https://en.wikipedia.org/wiki/Real-time_computing

5 个答案:

答案 0 :(得分:8)

在JVM上构建的语言可以是实时的,因为它保证在一定时间内做出反应,除非它使用支持实时扩展的JVM(并且需要他们的优势)。这在技术上是不可能的 - 而Akka也不例外。

然而,Akka确实为快速运行提供了支持,并且与可能的时间相比具有相当好的时机。在文档中,实时的其他定义(意思是在线,同时运行,具有良好平均延迟,快速足够 - 不用注意延迟等)可能偶尔使用。

答案 1 :(得分:3)

由于akka是一个消息驱动系统,实时使用与您提到的维基百科文章的定义之一有关in the domain of data transfer, media processing and enterprise systems, the term is used to mean 'without perceivable delay'.

“实时”在这里等同于“顺其自然”:事件/消息在生成时被有效处理/消费(与“批处理”相反)。

答案 2 :(得分:1)

由于JVM的局限性,Akka可以成为软实时系统的基础,但不适用于硬实时系统。如果您在维基百科文章中向下滚动一下,您会找到“实时计算标准”部分,并且对不同的“实时性”标准有一个很好的解释。

答案 3 :(得分:0)

  

受“实时约束”影响的系统 - 例如操作   从事件到系统响应的最后期限。

en.wikipedia.org/wiki/Real-time_computing

akka人可能会对像future这样的功能进行攻击,这些功能允许您为计算中的期望添加时间限制。

此外,akka的聚类模型可用于表示实时的在线系统(抽象以便看起来像在本地运行)。

答案 4 :(得分:0)

我的看法是Akka平台可以通过使用(我在这里引用)提供响应式应用程序来支持一种实时约束:

  • 异步,非阻塞且高性能的事件驱动编程模型
  • 通过具有“let-it-crash”语义的超级用户层次结构的容错能力
  • 响应传递中超时策略的定义

如前所述,所有这些功能相结合,为平台提供了一种响应时间保证,特别是与现今JVM上可用的主流应用程序和工具相比。

根据维基百科的定义,声称Akka可以严格定义为实时计算系统仍然是有争议的。
对于要证明的此类声明,您最好参考Akka团队本身。