在redis / heroko / node.js上捕获auth错误

时间:2012-11-10 13:57:41

标签: node.js heroku redis

我正在运行redis / node.js服务器并且有一个

[Error: Auth error: Error: ERR max number of clients reached]

我目前的设置是,我有一个连接管理器,它会添加连接,直到达到我的heroku应用程序的最大并发连接数(256或每个dyno 128)。如果是这样,它只是提供一个已经存在的连接。它非常快,而且很有效。

然而,昨天晚上我收到了这个错误,我无法重现它。这可能是一个罕见的错误,我睡不好,知道它在那里。因为:抛出错误后,我的应用程序将无法再访问。

所以我的问题是:

  • 这种连接管理器是个好主意吗?

  • 使用该管理器等待“空闲”被调用并关闭连接是更好的主意,这意味着每次请求启动时我都必须重新建立连接(这就是我想要的避免)

  • 如何阻止我的应用程序停止运行?我应该只在发生错误时刷新连接池吗?

处理具有给定最大值的多个并发连接的一般策略是什么?

1 个答案:

答案 0 :(得分:0)

如果有人正在阅读:

该错误是由我部署到生活中的混乱的redis 0.8.x引起的:

https://github.com/mranney/node_redis/issues/251

我足够聪明,可以从连接池中删除失败的连接,但忘记在其上调用'.quit()',因此连接在野外但仍然是连接。