【发布时间】:2016-09-23 13:29:51
【问题描述】:
是否可以在一个节点(计算机)内运行 deepstream.io 服务器的多个实例? 每个实例将侦听不同的端口,存储在不同的存储中等。 用例是一个实例用于生产,另一个用于暂存 - 生产和暂存使用不同的 MongoDB 数据库进行存储。
【问题讨论】:
标签: deepstream.io
是否可以在一个节点(计算机)内运行 deepstream.io 服务器的多个实例? 每个实例将侦听不同的端口,存储在不同的存储中等。 用例是一个实例用于生产,另一个用于暂存 - 生产和暂存使用不同的 MongoDB 数据库进行存储。
【问题讨论】:
标签: deepstream.io
当然,只需确保在启动时将它们指向两个不同的配置文件。这是它的工作方式,例如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
导致
为了更好地处理在同一台机器上运行的多个 deepstream 进程,我建议使用像 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 并跟踪您的日志、重新启动进程等...
【讨论】: