Akka actor创建,在集群中的随机节点上具有服务依赖性

时间:2015-07-12 16:47:46

标签: akka akka-cluster

这与Create actor on any unspecified/random node in cluster有关。

我是akka的新手。我正在使用akka 2.3.12,但可以使用最新的2.4里程碑。我想实现以下目标:

  • 在群集负载最小的节点上(透明地)创建一个actor
  • 演员有许多服务的依赖
  • 演员是按需创作的,即我不想在初创时创建x个演员。
  • 任何节点都可以创建一个actor
  • 可以在节点上创建多个actor

据我所知,我需要在每个节点上创建一个自适应(池)群集感知路由器。

我不确定配置会是什么样子。文档有点令人困惑。以下是正确的还是正确的?

1)

akka.actor.deployment {
 /myService/myRouter {
   router = adaptive
   metrics-selector = mix
   cluster {
     enabled = on
     max-nr-of-instances-per-node = 1
     allow-local-routees = on
     } 
   }
 }

或2)

akka.actor.deployment {
 /myService/myRouter = {
   router = adaptive
   metrics-selector = mix
   routees.paths = ["/user/worker”]
   cluster {
     enabled = on
     allow-local-routees = on
   }
  }
 }

或3(1& 2的组合):

akka.actor.deployment {
 /myService/myRouter = {
   router = adaptive
   metrics-selector = mix
   routees.paths = ["/user/worker”]
   cluster {
     enabled = on
     allow-local-routees = on
     max-nr-of-instances-per-node = 1
   }
  }
 }

群集配置(类似于1-3)是否足以实现上述目标? max-nr-of-instances-per-node 是指每个节点上的路由器数量还是每个节点上要创建的工作者数量?

关于actor部署及其依赖性

  • actor是在一个节点上实例化,然后部署到目标节点还是在目标节点上实例化的actor?
  • 如果前者是这种情况,则依赖注入服务不正确。这些服务真的应该是在每个节点上创建的演员吗?
  • 这对监督意味着什么?演员的主管是本地的还是远程的?

我希望所提供的信息是清楚的。任何指针都非常感激。谢谢。

0 个答案:

没有答案