【问题标题】:Multiple instances of deepstream.io server inside one node一个节点内的多个 deepstream.io 服务器实例
【发布时间】:2016-09-23 13:29:51
【问题描述】:

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

【问题讨论】:

    标签: deepstream.io


    【解决方案1】:

    当然,只需确保在启动时将它们指向两个不同的配置文件。这是它的工作方式,例如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 并跟踪您的日志、重新启动进程等...

    【讨论】:

    • 如何停止特定实例?如果我运行“deepstream stop”,它只会停止稍后启动的实例。
    • 我添加了一个使用 PM2 的示例来解决这个问题
    猜你喜欢
    • 2018-09-18
    • 2021-03-16
    • 2018-10-25
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2014-11-14
    相关资源
    最近更新 更多