是否可以在一个节点(计算机)内运行deepstream.io服务器的多个实例? 每个实例都将侦听不同的端口,存储在不同的存储中等。 用例是指一个实例用于生产而另一个实例用于登台 - 生产和登台使用不同的MongoDB数据库进行存储。
答案 0 :(得分:3)
当然,只需确保在启动时将它们指向两个不同的配置文件。以下是它的工作原理,例如: AWS Linux:
安装deepstream
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
并跟踪您的日志,重新启动进程等...