0

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

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

在此处输入图像描述

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

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

1 回答 1

0

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

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

于 2014-09-13T00:10:51.223 回答