Akka.NET - Cluster 和 ActorSelection 路径
Akka.NET - Cluster and ActorSelection path
我有一个 akka.net 集群,我想向本地和远程的参与者发送消息,并且所有参与者都有路径“/user/foobar”(至少在本地)。我应该使用 ActorSelection 吗?路径应该是什么样子才能同时定位匹配的本地和远程 actor?
从问题中不清楚您是想在集群的一个节点内本地发送消息,还是跨多个节点发送消息。
如果你只想在一个节点中发送它,你可以使用 ActorSelection
并将它发送到任何所需的 actor 路径(例如 /user/*/processingActor
)。如果你想通过集群本身发送消息,你需要设置一个集群感知组路由器。
请参阅 docs here for router configuration,您将在其中定义路由。
简而言之,您将执行如下操作:
# inside akka.actor.deployment HOCON
/some-group-router {
router = round-robin-group
routees.paths = ["/user/*/processingActor",]
nr-of-instances=3
cluster {
enabled=on
use-role=targetRoleName
allow-local-routees=on
}
}
我有一个 akka.net 集群,我想向本地和远程的参与者发送消息,并且所有参与者都有路径“/user/foobar”(至少在本地)。我应该使用 ActorSelection 吗?路径应该是什么样子才能同时定位匹配的本地和远程 actor?
从问题中不清楚您是想在集群的一个节点内本地发送消息,还是跨多个节点发送消息。
如果你只想在一个节点中发送它,你可以使用 ActorSelection
并将它发送到任何所需的 actor 路径(例如 /user/*/processingActor
)。如果你想通过集群本身发送消息,你需要设置一个集群感知组路由器。
请参阅 docs here for router configuration,您将在其中定义路由。
简而言之,您将执行如下操作:
# inside akka.actor.deployment HOCON
/some-group-router {
router = round-robin-group
routees.paths = ["/user/*/processingActor",]
nr-of-instances=3
cluster {
enabled=on
use-role=targetRoleName
allow-local-routees=on
}
}