2

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

4

1 回答 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

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

vim 配置

然后从两者开始

 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输出

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

于 2016-09-23T16:53:53.887 回答