Akka:如果不存在则创建actor

时间:2018-06-15 13:02:53

标签: akka

关于LinkedIn Presence平台的this有趣文章,我们有:

  

...我们为会员创建一个Actor,如果它还不存在......

对我来说,这掩盖了一系列关于如何做的问题"创造如果不存在"在分布式环境中。显然,这里有CAP权衡,例如,AmazonS3不支持创建(如果不存在)语义。

使用Akka,我们如何才能创建一个actor,只有它已经而不创建单点故障,它必须具有对全局状态的同步访问权限,例如成员id到actor的映射?

请注意,使用supervisor actor执行get-or-create不是一个可接受的解决方案,因为这会否定拥有分布式系统的重要性。

1 个答案:

答案 0 :(得分:0)

如果使用群集分片,则默认处理。如果实体actor不可用,则分片协调器将负责创建实体actor,并将消息转发给它。它已经可用,然后只是将消息发送给它。您还可以获得位置透明性,因为协调器知道特定分片实体actor存在于哪个节点中。

此致

Vinoth