Node.js高级服务器的通信API

乡亲。 我徘徊在Node.js框架中是否有服务器通信的高级API? 例如,我有几个服务器,我的应用程序运行,我想控制加载这个服务器。 有时,如果某个服务器超负荷,我想redirect一些连接请求到另一个(更自由的)。 有什么function可以帮助我吗? 或者我必须实现我自己的function?

试着看看集群 。 这使您可以控制多个节点进程并很好地进行缩放。

或者,只需设置TCP套接字并通过TCP传递消息,或通过类似redis的数据库传递消息。

您应该能够pipe理HTTP连接下来的stream。 你有一个HTTP服务器作为负载均衡器,这个服务器只是把消息传递给你的其他服务器并把它们传回去。

您正在寻找所谓的负载平衡器 。 有许多现成的解决scheme, nginx是今天的标准之一(和非常快速/易于设置)。

我不知道节点本地解决scheme,但写一个并不难。 但是,一般来说,负载平衡器并不实际监视服务器负载,而是监视服务器是否正在运行,并相对平均分配stream量。

至于你的通信问题,没有 – 没有标准的API来与node.js服务器进行通信。 然而,不难设置 – 假设您已经托pipe了HTTP(使用express或native),只需要监听特定的请求,可能是/comm/或任何您认为合适的,并且来回传递JSON 。

不是很确定Nodejs,但是我听说过使用Capistrano和Nodejs的ppl