Akka:如果不存在,则创建参与者

Akka:如果不存在,则创建参与者,akka,Akka,从关于LinkedIn展示平台的有趣文章中,我们了解到: …如果成员不存在,我们将为其创建一个参与者 对我来说,这掩盖了如何在分布式环境中“如果不存在就创建”的一系列问题。很明显,这里存在上限权衡,例如,AmazonS3不支持create if not exists语义 使用Akka,我们如何仅在参与者不存在的情况下创建参与者,而不创建必须具有全局状态同步访问权限(如成员id到参与者的映射)的单个故障点 请注意,使用supervisor actor执行获取或创建操作不是一个可接受的解决方案,因为

从关于LinkedIn展示平台的有趣文章中,我们了解到:

…如果成员不存在,我们将为其创建一个参与者

对我来说,这掩盖了如何在分布式环境中“如果不存在就创建”的一系列问题。很明显,这里存在上限权衡,例如,AmazonS3不支持create if not exists语义

使用Akka,我们如何仅在参与者不存在的情况下创建参与者,而不创建必须具有全局状态同步访问权限(如成员id到参与者的映射)的单个故障点


请注意,使用supervisor actor执行获取或创建操作不是一个可接受的解决方案,因为这否定了拥有分布式系统的意义。

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

问候,

维诺