获得Akka集群成员的最佳方式是什么?

时间:2015-06-10 15:42:30

标签: akka akka-cluster

如果我有一个Akka集群,访问该集群成员列表的最佳方法是什么?

我可以在群集中的每个节点上侦听事件并管理自己的注册表。我也可以使用Cluster(system).state,但根据文档,这不一定与已发布的事件同步。其中一个是首选/更好吗?

我的用例是:

我有各种服务的集群(不同的角色)。当我需要特定角色的服务时,我会过滤集群中所有节点的列表,以获得具有我需要的角色的节点,然后随机选择其中一个进行通信。这就是我想要群集中所有节点列表的原因。

这是实现此用例的最佳方式吗?

1 个答案:

答案 0 :(得分:0)

如果激活,则可通过JMX获得群集成员。我想你可以编写一小段代码来访问MBean Server并从那里检索信息。

此外,JMX对象中还有其他信息可能对您有用,例如我们无法访问的节点。