是否可以在一个节点(计算机)内运行 deepstream.io 服务器的多个实例?每个实例将侦听不同的端口,存储在不同的存储中等。用例是一个实例用于生产,另一个用于暂存 - 生产和暂存使用不同的 MongoDB 数据库进行存储。
问问题
571 次
1 回答
3
当然,只要确保在启动时将它们指向两个不同的配置文件。以下是它在例如 AWS Linux 上的工作方式:
安装深流
sudo wget https://bintray.com/deepstreamio/rpm/rpm -O /etc/yum.repos.d/bintray-deepstreamio-rpm.repo
sudo yum install -y deepstream.io
复制权限文件和两个版本的配置文件
cp /etc/deepstream/config.yml config-dev.yml
cp /etc/deepstream/config.yml config-prod.yml
cp /etc/deepstream/permissions.yml permissions.yml
在配置文件中更改端口(以及您需要的任何其他内容)
然后从两者开始
deepstream start -c config-dev.yml
deepstream start -c config-prod.yml
导致
为了更好地处理在同一台机器上运行的多个深流进程,我建议使用像PM2这样的工具
它基于节点,因此您可以通过以下方式将其安装在 AWS 上
curl --silent --location https://rpm.nodesource.com/setup_6.x | sudo bash -
sudo yum -y install nodejs
sudo npm install -g pm2
现在您可以运行具有不同配置的多个进程,如下所示
pm2 start --name ds-dev deepstream -- start -c ~/config-dev.yml
pm2 start --name ds-prod deepstream -- start -c ~/config-prod.yml
导致
PM2 允许您使用其 ID 轻松启动/结束/重新启动/监控各个进程,例如pm2 stop 0
并跟踪您的日志、重新启动进程等...
于 2016-09-23T16:53:53.887 回答