Как установить связь между приложением erlang и сервером nodejs?

У меня есть приложение erlang с API, и мне нужно вызвать эти функции API с сервера nodejs и обработать ответ. Например: Nodejs отправляет данные в приложение, приложение обрабатывает данные, затем отправляет их обратно в nodejs и, наконец, nodejs обрабатывает результат.

До сих пор моей лучшей идеей было запускать приложение в cmd как дочерний процесс, но с ним действительно было трудно работать, и когда я поднял глаза, я обнаружил только людей, которые предлагали не использовать nodejs, но это, к сожалению, не вариант для меня.

РЕДАКТИРОВАТЬ: Для пояснения мой вопрос, каков наилучший способ вызова функций erlang из nodejs

2 ответа

Решение

Мое предложение состоит в том, чтобы реализовать API приложения Erlang в качестве RESTfull API, используя один из веб-серверов с открытым исходным кодом Erlang Cowboy, Mochiweb, Webmachine. В этом случае вы можете вызвать API-интерфейс Erlang из NodeJs с помощью HTTP-клиента (вы можете найти множество реализаций HTTP-клиента для Javascript и особенно для NodeJS). Этот способ прост в реализации и обслуживании.

Нет простого способа удаленного вызова функций Erlang из JavaScript. Erlang может взаимодействовать только с приложениями C/C++ (порт Erlang) и Java (JInterface).

Не уверен, что полностью понимаю ваш запрос, но для запуска проекта nodejs на сервере я настоятельно рекомендую использовать pm2. pm2 будет управлять вашим приложением nodejs. Смотрите http://pm2.keymetrics.io/

Я не знаю, какой объем данных вы отправляете, но если данные достаточно велики (т. Е. Обработка занимает более 200 мс), возможно, вы захотите рассмотреть их асинхронную обработку.

Другие вопросы по тегам