【问题标题】:In which way is akka real-time?akka 以哪种方式实时?
【发布时间】:2013-01-08 21:04:21
【问题描述】:

在一些地方,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

【问题讨论】:

    标签: scala real-time akka actor definition


    【解决方案1】:

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

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

    【讨论】:

    • 请您分享一下哪种软件平台真正提供实时处理?
    • 你真的需要从一个实时操作系统开始,要么是像 QNX 这样的专用操作系统,要么是现有操作系统的实时补丁(例如 Real-Time Linux),或者其他类似的方法。 (您实际上并不需要完整的 RTOS,但您确实需要实时功能的硬件支持。)否则您的操作系统可能会搞砸您所有的实时尝试。
    【解决方案2】:

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

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

    【讨论】:

      【解决方案3】:

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

      【讨论】:

        【解决方案4】:

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

        en.wikipedia.org/wiki/Real-time_computing

        akka 家伙可能会参考 futures 之类的功能,这些功能允许您对计算的期望添加时间限制。

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

        【讨论】:

          【解决方案5】:

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

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

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

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

          【讨论】:

            猜你喜欢
            • 2023-03-10
            • 1970-01-01
            • 1970-01-01
            • 2012-11-13
            • 2018-01-20
            • 2021-12-07
            • 2018-01-25
            • 1970-01-01
            • 2010-11-05
            相关资源
            最近更新 更多