Akka集群类型

时间:2014-09-11 00:15:10

标签: akka distributed-computing akka-cluster

我试图了解群集在Akka中是如何工作的。具体来说,我对两种不同类型的聚类感兴趣:

  • 异构节点,其中集群中的每个“节点”(JVM)包含不同Actors的混合;和
  • 同源节点,其中每个节点包含所有相同类型的Actors

enter image description here

以上是异构同源节点的含义示例。在第一个(顶部)图表中,all-actors.jar部署到三台计算机:myapp01myapp02和AWS计算机。在第二个(底部)图中,部署了3种不同类型的Actor系统;每台机器1台。异构模型具有简单性的优点,并使Actor系统整体可扩展。同质模型允许更细粒度的弹性(也许我们需要比“A”或“C”等多3倍的“B”演员)。

  1. Akka是否支持两种类型的聚类(异质和同质)?如果没有,那么需要什么(在现有聚类之上添加)来获得这些聚类策略?如果是这样,每种类型的配置如何?
  2. 是否可以控制每个节点中所需的Actors数量?是否可以说“ On myapp01我想要500名A-Actors,200名B-Actors和1,000名C-Actors ”?或者Akka是否只是响应消息传递需求并自动扩展/缩小各种Actors?

1 个答案:

答案 0 :(得分:0)

经过一番挖掘后,事实证明Akka集群与跨JVM集群Actor系统无关,但它实质上将每个Actor的数据保存在同步的内存缓存中,以便在线程执行Actor时中断或死亡,Actor的数据可用于重新生成运行相同类型Actor的新线程。

所以Akka Clustering就像Eraser,而不是好莱坞演员,而不是Akka演员。