7

在一些地方,akka 以某种方式是“实时的”。例如:

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

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

akka 以哪种方式实时?

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

4

5 回答 5

9

除非它使用支持实时扩展(并利用它们)的 JVM,否则构建在 JVM 上的任何语言都不能是实时的,因为它可以保证在一定时间内做出反应。这在技术上是不可能的——Akka 也不例外。

但是,与可能的情况相比,Akka 确实提供了对快速运行事物的支持,并且具有相当好的时机。在文档中,实时的其他定义(意味着在线、运行时、具有良好的平均延迟、足够快的你不会注意到延迟等)可能偶尔使用。

于 2013-01-24T23:29:18.933 回答
3

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

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

于 2013-01-25T13:04:01.083 回答
1

Akka 可以作为软实时系统的基础,但不能作为硬实时系统的基础,因为 JVM 的限制。如果您在 Wikipedia 文章中向下滚动一点,您会发现“实时计算标准”部分,并且对不同的“实时性”标准有很好的解释。

于 2013-01-25T15:58:43.463 回答
0

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

en.wikipedia.org/wiki/Real-time_computing

akka 家伙可能会提到像futures 这样的功能,这些功能允许您对计算的期望添加时间约束。

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

于 2013-01-25T06:40:55.473 回答
0

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

  • 异步、非阻塞和高性能的事件驱动编程模型
  • 通过具有“让它崩溃”语义的主管层次结构容错
  • 响应交付中超时策略的定义

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

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

于 2013-01-25T10:07:13.223 回答