node.js POST запрос на другой сервер - PullRequest
0 голосов
/ 27 мая 2020

У меня есть приложение node.js (скажем, приложение 1), которое генерирует фиктивные данные и отправляет их в mongodb на localhost: 3000. Это приложение создано с использованием node.js, express и mongodb.

В другом приложении (приложение 2) я использую node.js, express и mqtt. В этом приложении я хочу собрать данные, сгенерированные приложением 1, и это приложение работает на порту с номером 3001.

Мой вопрос в том, как я могу отправить данные из приложения 1 в приложение 2 или как я могу получить данные из приложения 1 в приложение 2?

Ответы [ 2 ]

0 голосов
/ 27 мая 2020

Это звучит как работа для сокетов TCP.

Дело в том, что если вы хотите pu sh данные куда-то еще, вам нужно сначала открыть соединение между приложением и тогда вы сможете pu sh между ними (как в приложении чата).

Вот где начинается самое интересное. Есть много вариантов на выбор при реализации:

  1. Прямое TCP-соединение (Pub / Sub) - реализовать TCP-сервер в App1 и разрешить App2 подключаться к это (см. net).
  2. Pub / Sub Server - аналогично первому, но вы используете какое-то промежуточное звено между ними. Это хорошо, потому что App2 не нужно напрямую принуждать к App1 (см., Например, Redis pub / sub )
  3. Queue - Это - выбор, если ваши данные имеют с сохранением состояния и каждый темп генерируемых данных должен достигать App2, независимо от того, не работал ли он какое-то время. Очередь заполнится и будет ждать, пока App2 снова подключится к ней, только затем очередь начнет опустошаться (см., Например, RabbitMQ )
0 голосов
/ 27 мая 2020

Это очень расплывчатый и открытый вопрос. Есть много, много способов сделать это с разной степенью сложности, стоимости и возможностей масштабирования. Вероятно, вам следует начать с сужения фокуса вашего вопроса, чтобы выяснить, что вам действительно нужно перед публикацией, но просто для простоты, почему бы вам не попробовать простой POST от одного приложения узла к другому?

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...