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");
使用版本:
- 阿卡 1.1.0
- Akka.Cluster 1.1.0
- Akka.Remote 1.1.0
如 Gitter 中所述,在 /workerRouter
下添加 nr-of-instances = 10
使路由器接受所有路由。
一个关于集群路由器的问题(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");
使用版本:
- 阿卡 1.1.0
- Akka.Cluster 1.1.0
- Akka.Remote 1.1.0
如 Gitter 中所述,在 /workerRouter
下添加 nr-of-instances = 10
使路由器接受所有路由。