部署和扩展MeteorJS应用程序及移动应用开发指南
1. 使用Meteor Cluster进行扩展
Cluster是一个MeteorJS包,可使用 meteor add meteorhacks:cluster
命令将其与应用程序一起安装。它能解决诸多问题:
- 内部扩展解决方案 :与使用Nginx的扩展方法不同,使用Cluster配置应用程序扩展时,无需安装和配置其他外部服务器或代理。
- 避免连接重置 :向Nginx负载均衡器添加新实例时,会重新配置服务器,导致DDP连接重置。而Cluster不会出现这种情况。并且,若负载均衡器出现故障,使用Cluster也有优雅的解决方案。
- 服务发现 :Cluster通过MongoDB进行服务发现,它将实例详细信息存储在MongoDB中,以此识别实例并路由流量。部署时,需导出以下环境变量:
export CLUSTER_DISCOVERY_URL=mongodb://host:port/db,
# 这是服务器的直接URL(可能是私有URL)
export CLUSTER_ENDPOINT_URL=http://ipaddress
# 将服务器标记为Web服务(可设置任意名称)
export CLUSTER_SERVICE=web
设置好这些环境变量后,可按需添加或删除实例,Cluster会自动处理负载均衡。