【问题标题】:Proper architecture for Node.js modules and database connectivity?Node.js 模块和数据库连接的正确架构?
【发布时间】:2011-09-28 09:01:54
【问题描述】:

我正在编写一个接受 TCP 连接的 Node 应用程序。我有几个单独的节点模块(利用导出功能)。每个都需要一个数据库连接来处理它们的一些功能。

架构/处理数据库连接的最佳方式是什么?每个模块是否应该创建一个单独的连接,或者我的主 JS 文件是否应该在我需要它们时将数据库连接处理程序传递给模块?

【问题讨论】:

  • 如果没有更具体的细节,这个问题很难回答,但请随时访问node.js chat room 进行更详细的讨论
  • 我同意我的问题非常笼统,但这种架构可能在 Node.js 应用程序中很常见。大多数都需要()许多已安装和自定义的模块,我假设有人以前尝试过任何一种方法,并且在每种方法的灵活性和稳健性方面都有经验。

标签: architecture node.js


【解决方案1】:

imo 最好的方法是初始化连接池并在作为参数传递的模块中使用它。 mysql-pool 非常通用,很容易适应任何数据库客户端

更新:node-pool 是一个通用的 db-agnostic 池

【讨论】:

  • 其实我认为使用github.com/springmeyer/node-pool 更好,因为它比只使用 mysql 池更通用(你可以将它与所有类型的 dbs 一起使用)。
  • 我同意,我已经开始以这种方式重写我的代码,并且只需要很少的更改。允许模块忽略数据库连接配置,IMO 是一件好事。
  • springmeyer/node-pool 似乎是 404,但我写了一个 node.js 池库,可从 NPM 获得并得到了相当多的使用:github.com/coopernurse/node-pool
猜你喜欢
  • 2011-09-13
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2011-06-12
相关资源
最近更新 更多