Akka actors vs nodejs工作者线程。为什么演员更好?

时间:2019-06-13 15:26:50

标签: node.js scala actor

不久前,我正在接受工作面试,面试官问我一个问题:“为什么akka演员比nodejs工作者线程更好?” 我没有回答这个问题,因为我不知道如何回答。 我知道这不是真正的stackoverflow问题,但仍然如此。您将如何回答?谢谢

1 个答案:

答案 0 :(得分:1)

有点猜测,这个问题似乎是从一个个人更喜欢akka演员的人那里提出的。

我没有使用过nodejs worker,但我想它与actor相似,因为它们基本上是对消息队列(或收件箱)做出反应的事件循环。

Actor在错误处理方面还具有其他功能:

  1. 它们形成了一个层次结构,其中演员有孩子和父母。
  2. 此层次结构构成了错误处理域。

因此,在这种情况下,如果有错误,演员可以决定要做什么或将其发送出去。然后,父母可以决定是重新启动失败的参与者还是所有参与者

此外,角色具有与状态分离的身份,因此您可以引用角色而不用担心其状态。演员可以被杀死或重新启动,但是引用的所有所有者仍可以将消息发送到该地址,而无需关心该特定演员的当前状态。

我只回答没有完整的图片,所以我希望得到纠正或被遗漏。