Как лучше всего работать с akka от nodejs

У меня есть интерфейс приложения, реализованный на AngularJS + NodeJS + express + socket.Ио. Есть также функция в отдельном сервисе. Эта услуга написана на akka.

вот как может выглядеть весь коммуникационный трубопровод:

[пользователь вводит значение] ->[angularjs получает значение и отправляет его на сервер nodejs через сокет.io] -> [nodejs получает значение и направляет его в akka] ->[akka выполняет некоторые вычисления и возвращает ответ] ->[nodejs получает ответ и направляет его в angularapp].

одним из возможных решений было бы ввести промежуточное ПО MQ и использовать его для взаимодействия, но такой "подход, основанный на сообщениях", кажется накладными расходами для чего-то, что явно похоже на вызов RPC. Каков наилучший способ создания такого типа связи между nodejs и akka?

2 ответов


с Акка говорит HTTP сам вы можете просто сделать спокойный вызов из узла в службу Akka. Конвейеризация поддерживается, поэтому вы можете сделать это очень эффективным. В потоке HTTP-сервера Akka вы используете шаблон ask, чтобы получить вычисленное значение от вашего актера.


самым чистым способом было бы пропустить node.js/socket.io для уровня обмена сообщениями и вместо этого используйте websockets over spray.io напрямую. Typesafe имеет шаблон активатора только для сценария websockets для актеров akka:спрей и WebSocket интерфейсы для актеров

В противном случае вы бы смотрели на какое-то промежуточное ПО RPC, возможно бережливость или ZeroMQ.