scala - Erlang/Scala 将 Actor 从一个节点迁移到另一个节点

标签 scala erlang distributed-computing actor

我使用一种名为 SALSA 的语言开始涉足面向 Actor 的编程。 ,它允许参与者从一台机器移动到另一台机器。

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

如果这些语言中的任何一种支持此功能,您能给我指出一些引用如何实现此类功能的 Material 吗?

最佳答案

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

当然,如果您保留状态而不是在进程字典中,那么这是可行的。当然,新进程的 PID 会有所不同,但您可以例如让现有进程挂起并将消息转发到新进程。

关于scala - Erlang/Scala 将 Actor 从一个节点迁移到另一个节点,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9385834/

相关文章:

linux - `make release_tests` 在全新 Erlang 安装中进行 ./configure 后失败

http - 分布式 REST 队列的可用实现

c++ - 谁能帮助我了解 MPI Communicator、Groups 分区的工作原理?

performance - Erlang : match on two different lines, 和元组匹配哪个效率更高?

java - 将类型化集合从 Scala 2.13 方法返回到 Java 8 调用者

scala - @transient 惰性 val 字段序列化

scala - 如何在Scala中使用ListBuffer?

erlang - 获取有效 system_info 原子的完整列表

algorithm - 循环法 - 动态权重

javascript - 创建一个 Axios 帖子以使用 Dropzone 发送上传的文件,以便 Scala 函数处理相应的请求