服务器之间的websocket通信

我在Stackoverflow上阅读了很多,但经过一个星期的思考和研究,我正在运行卡住…

所以我真的要问:)

希望我解释正确的问题,如果没有,请说!

问题是simpel。 我需要2个服务器…服务器A – 没有任何东西,然后每15分钟填写一个数据库,服务器B做了从服务器A的数据的东西。

它很容易让服务器B做一个HTTP请求的数据,但我真正想要的是,服务器B从服务器A获得'套接字更新',每当它已经更新数据库数据。

问题是:服务器B不总是在同一个URL上….所以数据库服务器不能简单地做一个get / post请求,因为它不会总是知道它的url。

这就是为什么我希望,服务器B可以启动到数据库服务器的socket.io连接。保持线路对服务器A打开,以便服务器A可以响应其新的数据库数据,通过已build立的套接字连接… 。

所以基本上…是否有可能在2个服务器之间有一个共同的socket.io连接..就像一个客户端之间的服务器呢?

真的感谢!!!

更新:将其清除一点。

我有一个股票数据库..它从交易API获取所有数据,每15分钟。 这台服务器绝不能停止! 它可能,但它的烦人,导致数据将不一致…

我还有另外一个脚本,这个脚本将会一直在开发中。这个脚本对数据库服务器的数据进行了计算。 所以它会有(开发)错误等偶尔..这个脚本不应该停止'数据库股票'脚本…所以我想分开运行他们彼此。 这就是为什么我需要有2个服务器相互连接..

我的数据库是从一个固定的URL运行..但是我的开发脚本依赖于我在哪里开发..

也许有一个更好的解决scheme,我想达到什么..?

对于服务器到服务器的通信,你可以在其中一个上使用socket.io依赖,在另一个上使用socket.io-client 。

应该有可能,服务器往往是其他服务器的客户端。 你也可以让一个服务器监听多个端口 – 服务器A可以侦听来自服务器B(B与变化的URL)的连接可以build立连接来轮询来自A的改变。或者像你说的,有一个A推他们。

您可以使用http节点模块发出请求; 这里有一个总结:

 http = require('http'); var call = http.request( { hostname: "google.com", port: 80, path: "/", method: "GET", auth: "user" + ":" + "password" }, function(res) { var data = ""; res.on('data', function(chunk) { data += chunk; }); res.on('end', function(err) { console.log("Response was", data); }); } ); req.write(""); req.end();