java - Akka 远程 actor 服务器发现

标签 java scala actor akka

我想在集群上部署一个用 akka 制作的远程 actor 软件。该系统由多个工作节点和一个主节点组成。问题是我无法提前知道集群节点的 IP 地址(但我知道它们都属于同一子网)。因此,我需要一种在启动后发现每个人的 IP 地址的好方法,以便在每个节点上创建正确的 actor 引用。

我正在寻找在任何自由软件许可下分发的轻量级解决方案(我只需要它进行初始设置)。

最佳答案

前一段时间我创建了一个 prototype旨在解决您的问题(请随意重用代码和/或做出贡献)。

简单介绍一下它是如何工作的。它为每个参与者注册表(=节点)启动一个远程参与者。 RegistryActor 持有在分布式设置中运行的所有其他注册表的链接。当一个新节点被添加到系统中时,它需要知道至少一个其他节点(ActorRegistry)并通知它。 ActorRegistry 让所有其他节点知道新节点(因此,任何 RegistryActor 都有到所有其他 RegistryActor 的链接),并开始一个交换链接到 actor 的过程——在它结束时,所有 actor 注册表都有到所有 actor 的链接(本地或远程)在系统中运行。

更多详情请引用此blogpost .

关于java - Akka 远程 actor 服务器发现,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/6305900/

相关文章:

java - Hadoop:从 o.a.h.mapred 实现接口(interface),还是从 o.a.h.mapreduce 扩展类?

list - 如何在 Scala 中合并和区分列表?

c# - Actor 模型 (Akka.net) 中存储的状态在哪里?

java - Spring MVC 与网页设计师合作

java - 基于 Swing 的应用程序的 Eclipse 或 Netbeans?

ScalaTest 相当于 JUnit Rule 临时文件夹?

scala - 如何使用 `flatMap` 实现延迟计算的成本估算?

Akka 故障恢复 : Gated State

c - Actor 模型库、框架或用 C 编写的语言?

java - 将 UTC 时间戳转换为任意时区