akka.net 循环组路由器 - 只路由到一个路由器

akka.net round robin group router - only routing to one routee

一个关于集群路由器的问题(strategy = round-robin-group)。在集群设置中,我无法让它在我的路由之间进行循环。

我的设置如下: 节点 A,在 ASP.NET 的上下文中启动其参与者系统。在那里我有一个 API 控制器与 actor A1 对话,然后这个 actor 与我的路由器对话。然后,该路由器应将消息轮询到其在节点 B 上创建的路由(使用工作者角色)。

节点 B 在 windows 服务的上下文中创建其参与者系统。我仔细检查了节点 B 上的所有 routees 是否实际创建(在服务启动时完成)。

为了检查哪个路由接收到从节点 A 的路由器发送的消息,我只是在我的接收句柄中控制台记录 Self.Path。出于某种原因,同一个路由获取所有消息,并且它们没有分布在路由周围。

在下面的节点A上配置。

/workerRouter {
   router = round-robin-group
   routees.paths = [
      "/user/workers/worker0",
      "/user/workers/worker1", 
      "/user/workers/worker2",
      "/user/workers/worker3",
      "/user/workers/worker4",
      "/user/workers/worker5",
      "/user/workers/worker6",
      "/user/workers/worker7",
      "/user/workers/worker8",
      "/user/workers/worker9"
  ]
  cluster {
     enabled = on
     use-role = worker
  }
}

路由器使用以下代码实例化:

ActorSystem.ActorOf(Props.Empty.WithRouter(FromConfig.Instance), "workerRouter");

使用版本:

如 Gitter 中所述,在 /workerRouter 下添加 nr-of-instances = 10 使路由器接受所有路由。