【发布时间】:2014-05-07 13:28:32
【问题描述】:
我有一个 nodejs 应用程序在使用 node-mysql 和 express 的服务器上运行,起初我遇到了一些异常没有处理的问题,并且应用程序会因网络连接问题而关闭。
我处理了所有未捕获的异常,这次服务器不会关闭,而是会挂起。我想这是因为我只有在查询没有引发任何异常时才返回响应,所以我也处理了所有与查询相关的异常。
接下来,如果 MySQL 服务器由于某种原因终止连接,我的应用程序不会重新连接,我尝试重新连接,但它会给出与“排队连接握手或其他东西”相关的错误。从另一个堆栈问题我应该使用连接池,所以如果服务器终止连接,它将以某种方式重新获得连接,我这样做了。
我的问题是,每次我遇到问题时,我都必须关闭整个应用程序,并且感谢 nodejs 以编程方式配置服务器的地方也出现故障。我可以或者更好的是如何将我的服务器和应用程序几乎完全解耦,这样如果我对我的应用程序进行一些更改,我就不必重新部署?
特别是如果现在一切正常并且我的应用程序在服务器上不断给我连接池错误,而在开发版本中它工作正常,所以即使我重新启动我的应用程序我也不确定我将如何再次面对这个问题所以我可以正确诊断。
如果有人需要关于我的问题的更多信息,请告诉我。
【问题讨论】:
标签: mysql node.js architecture