服务于同一应用程序的多台服务器上的Node.JS / Meteor

时间:2013-05-30 23:35:41

标签: node.js meteor

当为大规模应用部署Node.JS / Meteor时,单个CPU是不够的。我们也希望在多台服务器上实现冗余。

此类部署的建议设置是什么?负载均衡如何工作?这将支持跨服务器客户端的推送数据技术(一个客户端连接到服务器1,第二个客户端连接到服务器2,我们希望客户端2中的更新可以在客户端2中看到,反之亦然)。

谢谢罗尼。

2 个答案:

答案 0 :(得分:1)

目前你只需要在它们之间使用代理。付费的星系解决方案应该有所帮助,但由于产品还没有出现,目前细节很少。

您不能简单地在两台服务器之间代理(通常使用nginx等),因为每个服务器将在DDP会话期间存储用户的状态(即其登录状态)(流线协议流星用于传输数据)。 / p>

目前有一种方法可以做到。获取meteorite并安装名为meteor-cluster的包。

该软件包应该可以帮助您在实例之间中继数据,并通过Redis在实例之间中继数据。 YouTube视频也会显示此内容以及如何设置。

答案 1 :(得分:0)

另一种解决方案是使用Hipache来管理负载平衡。您可以将多个工作人员(后端)用于一个前端,如下所示:

$ redis-cli rpush frontend:www.yourdomain.com http://address.of.server.2
$ redis-cli rpush frontend:www.yourdomain.com http://address.of.server.2

有关如何在我上面链接的git页面中执行此操作的更多信息,有一个配置文件可供编辑,其余部分已完成。您可能还想拥有MongoDB的专用服务器。