Актеры Akka vs nodejs рабочий поток. Почему (если) актеры лучше? - PullRequest
0 голосов
/ 13 июня 2019

Не так давно я был на собеседовании, и интервьюер задал мне вопрос: «Почему актеры akka лучше, чем рабочий поток nodejs?»Я не ответил на этот вопрос, потому что я не знаю, как на это ответить.Я понимаю, что это на самом деле не вопрос stackoverflow, но все же.Как бы вы ответили?Спасибо

1 Ответ

1 голос
/ 13 июня 2019

Немного догадываясь, кажется, что вопрос задается со стороны кого-то, кто лично предпочитает актеров Акка.

Я не использовал работников nodejs, но я думаю, что они похожи на актеров в том, что они в основномцикл обработки событий, реагирующий на очередь сообщений (или входящих сообщений).

У акторов есть и другие особенности, связанные с обработкой ошибок:

  1. Они образуют иерархии, в которых у актера есть дочерние элементы иa parent.
  2. Эта иерархия образует домены обработки ошибок.

Таким образом, в этом случае, если возникает ошибка, субъект может решить, что делать, или отправить ее.Затем родитель может решить, перезапустить ли актер, который потерпел неудачу, или все акторы

Кроме того, акторы отделили идентичность от состояния, поэтому вы можете обращаться к актеру, не беспокоясь о его состоянии.Актер может быть убит или перезапущен, но все владельцы ссылки могут отправлять сообщения на этот адрес, не заботясь о текущем состоянии этого конкретного актера.

Я отвечаю только без всей картины, поэтому яЯ ожидаю, чтобы быть исправленным или вызванным для упущений.

...