akka演员有多靠谱
How reliable is akka actor
由于 akka 是构建 actor 模型的工具包,actor 模型是 JVM 内部的对象 运行,创建后的 actor 对象的可靠性如何。考虑到 let it crash 的本质,JVM 中的 actor 对象有多可靠,除非它像使用毒丸或 JVM 关闭那样被明确杀死,否则 actor 不会自行杀死。
编辑:
假设下面是场景,我创建了一个名为 "mysystem" 的自定义演员系统,并在“/用户”A 和 B 下创建了两个演员,其中 A 是 B 的主管。
A <- 主管演员 ( akka://mysystem/user/A )
B <- 演员 ( akka://mysystem/user/A/B )
创建后,假设我没有 Posion Pill 的意图并且 JVM 永远不会崩溃,考虑到这些假设,A 和 B 是否会自行崩溃。
在Akka中,有"supervision"的概念。每个演员都有一个 parent 来监督其 child 个演员。当 actor 因意外异常而失败时,有一个 well-defined life-cycle 进程将重新启动 actor transparently(如果这样配置)。
有关详细信息,请参阅文档中有关 supervision and fault tolerance 的章节。
由于 akka 是构建 actor 模型的工具包,actor 模型是 JVM 内部的对象 运行,创建后的 actor 对象的可靠性如何。考虑到 let it crash 的本质,JVM 中的 actor 对象有多可靠,除非它像使用毒丸或 JVM 关闭那样被明确杀死,否则 actor 不会自行杀死。
编辑:
假设下面是场景,我创建了一个名为 "mysystem" 的自定义演员系统,并在“/用户”A 和 B 下创建了两个演员,其中 A 是 B 的主管。
A <- 主管演员 ( akka://mysystem/user/A ) B <- 演员 ( akka://mysystem/user/A/B )
创建后,假设我没有 Posion Pill 的意图并且 JVM 永远不会崩溃,考虑到这些假设,A 和 B 是否会自行崩溃。
在Akka中,有"supervision"的概念。每个演员都有一个 parent 来监督其 child 个演员。当 actor 因意外异常而失败时,有一个 well-defined life-cycle 进程将重新启动 actor transparently(如果这样配置)。
有关详细信息,请参阅文档中有关 supervision and fault tolerance 的章节。