不久前,我正在接受工作面试,面试官问我一个问题:“为什么akka演员比nodejs工作者线程更好?” 我没有回答这个问题,因为我不知道如何回答。 我知道这不是真正的stackoverflow问题,但仍然如此。您将如何回答?谢谢
答案 0 :(得分:1)
有点猜测,这个问题似乎是从一个个人更喜欢akka演员的人那里提出的。
我没有使用过nodejs worker,但我想它与actor相似,因为它们基本上是对消息队列(或收件箱)做出反应的事件循环。
Actor在错误处理方面还具有其他功能:
因此,在这种情况下,如果有错误,演员可以决定要做什么或将其发送出去。然后,父母可以决定是重新启动失败的参与者还是所有参与者
此外,角色具有与状态分离的身份,因此您可以引用角色而不用担心其状态。演员可以被杀死或重新启动,但是引用的所有所有者仍可以将消息发送到该地址,而无需关心该特定演员的当前状态。
我只回答没有完整的图片,所以我希望得到纠正或被遗漏。