Akka集群分片实体查询

Akka集群分片实体查询,akka,sharding,akka-cluster,Akka,Sharding,Akka Cluster,我正在将单节点akka actor系统应用程序更改为akka群集。一个变化是将一种类型的有状态参与者(在运行时可以是多个)变成集群分片管理的实体。现在它可以在多个节点上正常工作 我面临的一个问题是如何查询(获取所有)集群中分片区域创建的实体。以前在单节点模式下,它使用actor系统ActorSelection进行actor路径匹配,以获得匹配的actor列表,这在集群切分中不再起作用 我想知道Sharding Region是否有一些用于查询其实体的内置支持 您需要所有参与者系统都位于同一集群中。

我正在将单节点akka actor系统应用程序更改为akka群集。一个变化是将一种类型的有状态参与者(在运行时可以是多个)变成集群分片管理的实体。现在它可以在多个节点上正常工作

我面临的一个问题是如何查询(获取所有)集群中分片区域创建的实体。以前在单节点模式下,它使用actor系统ActorSelection进行actor路径匹配,以获得匹配的actor列表,这在集群切分中不再起作用

我想知道Sharding Region是否有一些用于查询其实体的内置支持

  • 您需要所有参与者系统都位于同一集群中。为此,请确保它们都配置了相同的种子节点

  • 如果要访问居住在另一台计算机中的参与者,则需要在参与者选择中包括其IP地址

  • 如果您不希望选择参与者时需要IP地址,则必须为参与者实现命名系统。为此,您可以使用Zookeeper并将每个条目放在一个短暂的znode上

  • 来源:2014年解决了同样的问题