В Node.js, как заставить один сервер вызывать функцию на другом сервере? - PullRequest
8 голосов
/ 12 мая 2011

Допустим, у меня есть 2 веб-сервера. Оба они только что установили Node.js и запустили веб-сайт (используя Express). Довольно простые вещи.

Как сервер-А может сказать серверу-B выполнить функцию? (внутри node.js)

Желательно ... для этого есть модуль npm, который делает его действительно легким для меня?

Ответы [ 3 ]

6 голосов
/ 12 мая 2011

Как Сервер-A может сказать Серверу-B выполнить функцию?

Вы можете использовать один из RPC модулей, например dnode .

2 голосов
/ 12 мая 2011

Скорее всего, вы хотите что-то вроде модуля JSON-RPC для Node. После некоторого быстрого поиска здесь - это модуль промежуточного программного обеспечения JSON-RPC для Connect, который идеально подойдет для работы с Express.

Также, этот тоже выглядит многообещающе.

0 голосов
/ 18 августа 2018

То, что вам нужно, называется RPC.Можно построить свой собственный, но в зависимости от функций, которые вам нужны, это может занять много времени.

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

Вот оно https://github.com/DhavalW/octopus.

Это довольно легко настроить сейчас и работает с множеством распространенных транспортов, таких как socket.io, websockets, дочерние процессы и т. Д., Без изменений.В основном безопасен для использования, кроме функции переименования, которая находится в стадии разработки.

...