我试图了解集群在 Akka 中是如何工作的。具体来说,我对两种不同类型的聚类感兴趣:
- 异构节点,集群中的每个“节点”(JVM)都包含不同Actor的混合;和
- 同质节点,其中每个节点包含所有相同类型的 Actor
以上是我所说的异质和同质节点的例子。在第一个(顶部)图表中,anall-actors.jar
部署到三台机器:myapp01
和myapp02
AWS 机器。在第二张(底部)图中,部署了 3 种不同类型的 Actor 系统;每台机器1个。异构模型具有简单的优点,并使 Actor System 作为一个整体可扩展。同质模型允许更细粒度的弹性(也许我们需要比“A”或“C”多 3 倍的“B”Actor,等等)。
- Akka 是否支持两种类型的聚类(异构和同质)?如果不是,需要什么(在现有集群之上添加)来获得这些集群策略?如果是这样,每种类型是如何配置的?
- 是否可以控制每个节点中所需的 Actor 数量?是否可以说“我
myapp01
想要 500 个 A 型演员、200 个 B 型演员和 1,000 个 C 型演员”?还是 Akka 只是响应消息传递需求并自动扩展/缩减各种 Actor?