当为大型应用程序部署 Node.JS/Meteor 时,单个 CPU 是不够的。我们还希望将它放在多台服务器上以实现冗余。
这种部署的推荐设置是什么?负载平衡是如何工作的?这是否支持跨服务器客户端的推送数据技术(一个客户端连接到服务器 1,第二个客户端连接到服务器 2,我们希望在客户端 2 中看到客户端 1 的更新,反之亦然)。
谢谢罗尼。
目前,您只需要在它们之间使用代理即可。付费银河解决方案应该会有所帮助,但由于产品尚未推出,目前细节很少。
您不能简单地在两台服务器之间进行代理(通常使用 nginx 等),因为每台服务器将在 DDP 会话期间存储用户的状态(即他们的登录状态)(原始线路协议流星用于传输数据)。
目前有一种方法可以做到。获取meteorite并安装一个名为meteor-cluster的包。
该软件包应帮助您在实例之间中继数据以及通过 Redis 在实例之间中继数据。一个 youtube 视频也显示了这一点以及如何设置它。
另一种解决方案是使用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 提供专用服务器。