в узлах.js, как заставить один сервер вызывать функцию на другом сервере?

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

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

предпочтительно...есть ли модуль npm для этого, что делает его очень легким для меня?

3 ответов


как сервер-сервер скажет-Б выполнить функцию?

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


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

и этой выглядит слишком многообещающим.


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

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

здесь https://github.com/DhavalW/octopus.

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