我正在努力将单个节点akka actor系统应用程序更改为akka集群。一种变化是将一种有状态的Actor(在运行时可以很多)放入Cluster Sharding管理实体中。现在它可以在多个节点上正常工作。
我面临的一个问题是如何查询(获取)由群集中的分片区域创建的实体。以前在单节点模式下,它使用actor系统ActorSelection来执行actor路径匹配,以获取匹配的actor的列表,这在群集分片中不再起作用。
我想知道Sharding Region是否有一些内置的查询实体的支持。
答案 0 :(得分:0)
您需要所有actor系统都在同一个集群中。为此,请确保它们都配置了相同的种子节点。
如果您想访问另一台机器中的演员,您需要在演员选择中包含其IP地址。
如果您不想要为演员选择提供IP地址,则必须为演员实施命名系统。为此,您可以使用Zookeeper并将每个条目放在短暂的znode上。
来源:2014年解决了同样的问题