我正在写一个Akka应用程序,我想使用Typsafe提供的Akka Cluster功能 . 我试图了解Akka Cluster,Akka Cluster Singleton和Akka Cluster Sharding之间的主要区别 . 对我来说,他们似乎在提供类似的东西 .
在我的场景中,我希望有一个群集,它将具有:
-
可以住在任何机器上的无国籍演员(我会有一个游泳池)
-
无国籍的演员,我希望他们住在特定的机器上
-
可以存在于任何机器中的有状态角色,但我需要在整个群集中只有一个实例,并且如果它死亡,则能够以之前的状态重新启动角色 .
根据我所读的内容,我需要第一种Akka Cluster,第二种Akka Cluster Singleton和第三种Akka Cluster Sharding . 我的假设是否正确?如果你知道的话,我正在寻找一些指导和在线任何例子 .
2 回答
“可以住在任何机器上的无国籍演员” - 这听起来像是akka集群 .
“我希望他们住在特定机器中的无国籍演员” - 这听起来像akka集群单身,但你也可以使用角色
“能够以前一个状态重新启动演员,如果它死了” - 这听起来像Akka Cluster Sharding with akka-persistence .
对于某些用例,请查看https://github.com/dnvriend/spray-ba-sharding和https://github.com/dnvriend/spray-ba-singleton . akka文档实际上非常好 . 另请查看激活器模板 .