Cluster computing 调整akka.net群集池路由器的池大小

Cluster computing 调整akka.net群集池路由器的池大小,cluster-computing,akka.net,Cluster Computing,Akka.net,下面是我希望使用Akka.Net群集实现的场景: 用户向协调角色提交要执行的负载生成任务。(任务有其参数和“负载系数”-因此系数为10将创建10个并行任务。) coordinator actor创建一个池大小等于负载因子的集群池路由器,并广播一条消息,通知路由器执行任务 正如预期的那样,在集群节点上创建所需数量的路由,并生成负载 现在,我需要启用斜坡上升和斜坡下降功能。我希望通过定期调整池大小来做到这一点,因此每x秒,池大小会增加一次渐变,而每x秒,池大小会减少一次渐变 群集池路由器是使用以

下面是我希望使用Akka.Net群集实现的场景:

  • 用户向协调角色提交要执行的负载生成任务。(任务有其参数和“负载系数”-因此系数为10将创建10个并行任务。)
  • coordinator actor创建一个池大小等于负载因子的集群池路由器,并广播一条消息,通知路由器执行任务
  • 正如预期的那样,在集群节点上创建所需数量的路由,并生成负载
现在,我需要启用斜坡上升和斜坡下降功能。我希望通过定期调整池大小来做到这一点,因此每x秒,池大小会增加一次渐变,而每x秒,池大小会减少一次渐变

群集池路由器是使用以下方法创建的,以创建1个路由器的初始池:

ClusterRouterPoolSettings settings = new ClusterRouterPoolSettings(1, 1000, false, "worker");
var props = Props.Create<TestActor>(() => new TestActor())
              .WithRouter(new ClusterRouterPool(new BroadcastPool(100), settings));
var testActorRouter = Context.ActorOf(props, actorName);
ClusterRouterPoolSettings=newclusterrouterpoolsettings(11000,false,“worker”);
var props=props.Create(()=>newtestactor())
.使用路由器(新群集路由器池(新广播池(100),设置));
var testActorRouter=Context.ActorOf(props,actorName);
要将池大小增加5,协调器使用以下方法:

testActorRouter.Ask<Router>(new AdjustPoolSize(5));
testActorRouter.Ask(新的调整池大小(5));
但是,这会导致将5个路由添加到协调器的节点上,而不是其他集群节点上。尽管池设置将角色指定为“worker”(协调器节点没有),并指定localroutees=false,但仍然存在这种情况

是否有其他方法来调整池大小以增加集群池路由

谢谢