2

我正在编写一个 Akka 应用程序,我想使用 Typsafe 提供的 Akka Cluster 功能。我试图了解 Akka Cluster、Akka Cluster Singleton 和 Akka Cluster Sharding 之间的主要区别。对我来说,他们似乎提供了类似的东西。

在我的场景中,我想要一个集群,它将具有:

  • 可以存在于任何机器中的无状态actors(我将拥有一个池)
  • 我希望他们生活在特定机器中的无国籍演员
  • 可以存在于任何机器中的有状态参与者,但我只需要它们在整个集群中的一个实例,并且能够在参与者死亡时以之前的状态重新启动参与者。

根据我所阅读的内容,我需要 Akka Cluster 作为第一种,Akka Cluster Singleton 用于第二种,Akka Cluster Sharding 用于第三种。我的假设正确吗?如果您知道的话,我正在寻找一些指导以及任何在线示例。

4

2 回答 2

3

查看https://github.com/dnvriend/spray-ba-shardinghttps://github.com/dnvriend/spray-ba-singleton以了解一些用例。akka 文档实际上非常好。另请查看激活器模板。

于 2014-07-29T05:46:53.447 回答
2

“可以存在于任何机器中的无状态参与者”——这听起来像 akka 集群。

“我希望他们生活在特定机器中的无状态演员”——这听起来像 akka 集群单例,但你也可以使用角色

“如果actor死了,能够以之前的状态重新启动它”——这听起来像带有akka-persistence的Akka Cluster Sharding。

于 2014-08-01T18:27:42.410 回答