Node JS Mongoose - 如果节点服务器无法连接到数据库,最佳做法是什么?

时间:2017-10-06 18:21:59

标签: node.js mongodb mongoose

我有多个网站将数据传输到我的服务器,然后将数据写入我们的mongo数据库。如果服务器无法连接到数据库,则服务器变得无用。

目前,如果服务器无法连接到数据库,我只是记录错误。

mongoose.connection
  .once('open', () => { console.log('connected to database'); })
  .on('error', () => { console.log('database connection error'); });

我的问题是,如果节点服务器无法连接到数据库,最佳做法是什么?我应该抛出错误吗?可能完全关闭服务器?

1 个答案:

答案 0 :(得分:1)

我假设您正在谈论的服务器提供客户端连接的某种API。

如果该服务器无法与数据库通信,那听起来像是一个严重的问题。你需要做几件事:

  1. 服务器需要通知客户有问题。希望您的客户以这样的方式编写,以便他们能够优雅地处理这个问题。

  2. 您的服务器需要记录详细信息。不只是一条消息说明了"数据库连接错误",而是全部错误信息。如果没有详细信息,您将无法排除故障。

  3. 您可能需要某种系统来在数据库发生故障时实时通知系统管理员。这对于尽快恢复和运行系统至关重要。

  4. 鉴于您提供的信息有限,很难回答这个问题。其中大部分将特定于您的服务器实现。例如,假设您已编写RESTful API,则可能会向客户端发送HTTP状态代码500(内部服务器错误)和一些描述性信息。如果您已选择其他一些API实施,那么您的回复会有所不同。