一个节点内的deepstream.io服务器的多个实例

时间:2016-09-23 13:29:52

标签: deepstream.io

是否可以在一个节点(计算机)内运行deepstream.io服务器的多个实例? 每个实例都将侦听不同的端口,存储在不同的存储中等。 用例是指一个实例用于生产而另一个实例用于登台 - 生产和登台使用不同的MongoDB数据库进行存储。

1 个答案:

答案 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

更改配置文件中的端口(以及您需要的任何其他内容)

vim config

然后以

开始
 deepstream start -c config-dev.yml
 deepstream start -c config-prod.yml

导致

enter image description here

为了更好地处理在同一台计算机上运行的多个深层流程,我建议使用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 output

PM2允许您使用他们的ID轻松启动/结束/重启/监控各个进程,例如: pm2 stop 0并跟踪您的日志,重新启动进程等...