在Node.js中,如何让一台服务器在另一台服务器上调用一个函数?

TIM*_*MEX 8 javascript rpc ipc node.js

假设我有2个Web服务器.他们俩都安装了Node.js并运行了一个网站(使用Express).很基本的东西.

Server-A如何告诉Server-B执行某个功能?(在node.js内)

最好......有一个npm模块,这对我来说真的很容易吗?

小智 9

查看Wildcard API,它是 JavaScript 的 RPC 实现。

它在浏览器和 Node.js 服务器之间工作,也可以在多个 Node.js 进程之间工作:

// Node.js process 1

const express = require('express');
const wildcardMiddleware = require('@wildcard-api/server/express');
const {endpoints} = require('@wildcard-api/server');

endpoints.hello = async function() {
  const msg = 'Hello from process 1';
  return msg;
};

const app = express();
app.use(wildcardMiddleware());

app.listen(3000);
Run Code Online (Sandbox Code Playgroud)
// Node.js process 2

const wildcard = require('@wildcard-api/client');
const {endpoints} = require('@wildcard-api/client');

wildcard.serverUrl = 'http://localhost:3000';

(async () => {
  const msg = await endpoints.hello();
  console.log(msg); // Prints "Hello from process 1"
})();
Run Code Online (Sandbox Code Playgroud)

您可以在此处浏览示例代码。


yoj*_*o87 6

Server-A如何告诉Server-B执行某个功能?

您可以使用其中一个RPC模块,例如dnode.

  • 我不能只使用 HTTP REST 吗?(基本帖子/获取) (8认同)