【发布时间】:2016-01-13 15:51:03
【问题描述】:
我已经阅读了 Akka docs on fault tolerance & supervision,并且我认为我完全理解它们,但有一个很大的例外(没有双关语)。
你为什么想要/需要阻止儿童演员???
文档中的唯一线索是:
更接近 Erlang 方式的策略是在孩子失败时阻止他们,然后在主管中采取纠正措施......
但对我来说,停止一个孩子就等于说“不要再执行此代码”,对我来说,这实际上与部署相同完全删除该参与者的代码的新更改:
- 每个 Actor 在 Actor 系统中都扮演着一些关键角色
- 简单地停止演员意味着演员目前不再拥有角色,并假设系统现在可以以某种方式(神奇地)在没有它的情况下工作
- 同样,对我而言,这与将代码重构为甚至不再有演员,然后部署这些更改没有什么不同
我敢肯定,我只是在这个上看不到森林,但我只是没有看到任何用例,其中我有这个大型复杂的演员系统,每个演员都在做关键的工作和然后把它交给下一个关键演员,然后我停止一个演员,神奇地整个系统继续完美运行。
简而言之:阻止演员(对我而言)就像从行驶中的车辆上拆下变速箱。这怎么可能是一件好事/理想的事情?!?
【问题讨论】:
-
总是有人通过我的 Akka 问题并否决我的问题。我觉得 Akka 的用户指南编辑团队中的某个人对我怀恨在心,因为我指出了他们的文档需要改进的地方! 这个问题是主题,不是骗子,而是SSCCE。为什么投反对票?
-
巴克斯特……是你吗?!?至少有勇气说话!
-
这绝对是一个有效的问题,我可以向 Akka 团队保证,我们没有理由或不想对那些在我们的文档中引起遗漏的问题投反对票。但是修复它们的更好方法是在 github 上打开问题,我偶然发现了这个。
标签: akka fault-tolerance