在部署Node.JS/Meteor用于大规模应用时,单CPU是不够的。我们还希望将其放在多台服务器上以实现冗余。
对于此类部署,建议的设置是什么?负载均衡是如何工作的?这是否支持跨服务器客户端的推送数据技术(一个客户端连接到服务器1,第二个客户端连接到服务器2,我们希望客户端1中的更新在客户端2中可见,反之亦然)。
谢谢罗尼。
发布于 2013-05-31 23:03:42
目前,您只需要在它们之间使用代理。付费的galaxy解决方案应该会有所帮助,但细节目前还很少,因为产品还没有推出。
你不能简单地在两个服务器之间代理(通常使用nginx等),因为每个服务器都会在DDP会话( meteor用来传输数据的原始有线协议)期间存储用户的状态(即他们的登录状态)。
目前有一种方法可以做到这一点。获取meteorite并安装一个名为meteor-cluster的包。
该套餐包可帮助您实现实例之间的数据中继,以及通过Redis实现实例之间的数据中继。youtube的一段视频也展示了这一点以及如何设置它。
发布于 2013-06-22 19:43:46
另一种解决方案是使用Hipache来管理负载平衡。您可以为一个前端使用多个worker(后端),如下所示:
$ 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的专用服务器。
https://stackoverflow.com/questions/16847570
复制相似问题