我想在群集上部署一个使用akka制作的远程演员软件.该系统由几个工作节点和一个主节点组成.问题是我不能提前知道集群节点的IP地址(但我知道它们都是同一子网的一部分).所以,我需要一个很好的方法来发现每个人在启动后的IP地址,在每个节点上创建正确的演员参考.
我正在寻找一个ligtweight解决方案(我只需要它的初始设置)分发在任何免费的软件许可证.
解决方法
之前,我创建了一个
prototype,旨在解决您的问题(随意重用代码和/或贡献).
关于它如何工作的几个字.它为每个actor注册表(= node)启动一个远程actor. RegistryActor保存在分布式设置中运行的所有其他注册表的链接.当一个新节点被添加到系统中时,它需要知道至少一个其他节点(ActorRegistry)并通知它. ActorRegistry不允许所有其他节点了解新的节点(因此,任何RegistryActor都具有指向所有其他RegistryActor的链接),并启动与角色交换链接的过程 – 最后,所有演员注册表都具有所有角色的链接(在本地或远程)在系统中运行.
详情请参阅blogpost.