【问题标题】:Erlang/Scala Migrating Actors from one node to anotherErlang/Scala 将 Actor 从一个节点迁移到另一个节点
【发布时间】:2012-03-12 06:02:41
【问题描述】:

我使用一种名为SALSA 的语言学习了面向Actor 的编程,它允许Actor 从一台机器移动到另一台机器。

我想知道这是否可以使用 Scala 或 Erlang 来完成,这两种面向 Actor 的编程语言具有更大的动力。

如果这些语言中的任何一种都支持此功能,请您指出一些参考如何实现此类功能的材料?

【问题讨论】:

    标签: scala erlang distributed-computing actor


    【解决方案1】:

    嗯,Erlang 不允许(afaik)移动进程(至少,PID 绑定到节点)。如果您想为特定函数执行此操作,您可以在另一个节点上启动一个进程(例如,使用 rpc:call 和一个包装函数)并将状态传递给它。

    当然,如果您将状态保留在周围而不是在进程字典中,那么这会起作用。而且,当然,新进程的 PID 会有所不同,但例如,您可以将现有进程挂起,然后将消息转发给新进程。

    【讨论】:

      【解决方案2】:

      作为介绍,请看一下非常令人兴奋的 akka documentation。绝对值得一读。也许您可能会重新考虑将演员从一台机器移动到另一台机器,因为据我所知,akka 通过配置自动执行此操作。

      【讨论】:

        猜你喜欢
        • 2019-12-03
        • 1970-01-01
        • 2011-08-26
        • 1970-01-01
        • 1970-01-01
        • 2017-03-20
        • 2023-03-10
        • 2023-03-24
        • 1970-01-01
        相关资源
        最近更新 更多