【问题标题】:Nodejs problems with multiple instances in production and module.parent生产和module.parent中的多个实例的Nodejs问题
【发布时间】:2018-07-28 15:54:22
【问题描述】:
  1. 下面module.parent的职责是什么?

    if(!module.parent) {
       app.listen(8080)
    }
    

感谢您的评论。

【问题讨论】:

  • 只有一个实例可以同时监听一个端口?

标签: node.js module instance production


【解决方案1】:

在生产中使用多个实例运行时会发生什么问题?

在同一台主机上,您不能让多个服务器监听同一个端口。要在同一主机上运行服务器的多个实例,您需要类似于集群模块(它为您管理在多个进程之间拆分传入连接)或者您需要在单独的端口上运行每个服务器并使用负载平衡器来拆分不同服务器的不同端口之间的传入请求。

下面的module.parent的职责是什么?

如果像node foo.js 那样直接从命令行加载模块,则module.parent 将是null。如果一个模块是由另一个模块通过require() 加载的,那么module.parent 将包含加载它的模块。这可以用于许多事情。在某些情况下,它可以用来决定是否运行代码测试(当模块自己运行时)。

至于为什么在您的特定代码示例中使用它,我们需要更多的代码上下文来了解他们为什么这样做。很可能它是一个模块,它既可以独立运行,也可以用作现有服务器的助手,它使用它来知道它正在作为哪个运行。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2020-07-20
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2023-04-11
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多