无种子的 Akka.net 集群

标签 akka.net akka.net-cluster

我今天刚刚接触到 Akka.net,它看起来非常适合我的一个项目。但我需要一种零配置集群,用户只需在其(本地)网络上的多台计算机上启动应用程序,然后它们就会自动形成一个集群。我不确定这对于 Akka.net 是否可行,因为我不会将种子节点放入配置文件中。

我想,如果有一个以编程方式设置种子节点的选项,我可以广播以查找其他节点,但并不能真正保证所有节点都以同一组种子节点开始。是否可以用种子节点 B 启动节点 A,用种子节点 A 启动节点 C,依此类推?

最佳答案

您可以使用集群插件从代码中设置集群节点,即Cluster.Get(Context.System).Join(nodeAddress)。如果要将当前节点初始化为集群种子,只需命令它加入自身 (cluster.SelfAddress)。

为了将任何其他节点加入集群,您只需要知道至少一个节点的地址,该节点已经是集群的一部分。所以是的,你可以在你描述的场景中加入 A ⇒ B 和 C ⇒ A。

关于无种子的 Akka.net 集群,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/39336367/

相关文章:

akka.net - Akka.Cluster 的端口耗尽问题

c# - AKKA.NET 问题 : Is it a good idea to have more than one ActorSystem in an application?

etl - 使用 Akka.net/Actor System 进行 ETL 过程

sql-server - Akka .NET 连接池超时问题

akka.net - 使用 Akka.Persistence 配置时出现 System.Format 异常

c# - Akka.Net (C#) 向集群中的所有参与者发布消息

c# - 什么是标准的 Akka.Net 消息命令验证模式?

Akka.Net 自定义Mailbox,自定义IMessageQueue,或者其他东西