关于群集路由器的问题(strategy = round-robin-group)。我无法在群集设置中的路由之间进行循环。
我的设置如下: 节点A,在ASP.NET的上下文中启动其actor系统。在那里,我有一个API控制器与演员A1对话,然后这个演员与我的路由器交谈。然后,此路由器应将消息循环到其在节点B上创建的路由(使用辅助角色)。
节点B在Windows服务的上下文中创建其actor系统。我已经仔细检查了节点B上的所有路由都是实际创建的(在服务启动时完成)。
为了检查接收从节点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");
使用版本:
答案 0 :(得分:1)
正如Gitter中所讨论的,在nr-of-instances = 10
下添加/workerRouter
会使路由器接受所有路由。