跳到主要内容
CNode

node的容错是如何处理的?

问答
Rrongchanghai发布于 10 年前最后回复 10 年前
851910

因为node是单线程,并且使用大量的回调, 所以有一点错误的话就会导致node程序崩掉, 虽然使用try catch 可以在一定程度上有效的捕获异常,但是有没有更好的方法或者机制?

查看回复

回复 (8)

A
alsotang#710 年前

node 的容错目前我见过的最好的方案是这样的。 https://npm.taobao.org/package/graceful 这个模块在你的server抛错之后,会暂停所有新请求的连接,然后再存活一个 timeout 时间,之后退出。而非一抛错马上退出

A
alsotang#610 年前

@stuartZhang @i5ting 还是说 strongloop 比较合适吧。。。ibm 太大了。 话说 domain 模块已经不推荐使用了。express 的源码里面用了 domain?

S
stuartZhang#410 年前
引用 i5ting@stuartZhang express不是ibm的

@i5ting 我之前看新闻说:Express被strongloop公司管理。然后,strongloop又被IBM收购。所以,我以为Express是IBM的呢。

S
stuartZhang#110 年前

IBM Express的web framework里有domain中间件来处理未捕获的异常,和避免 进程退出。 但是,我推荐使用forever或pm2来实现,进程终止 后 再 重启 的工作。

参与回复

登录后即可参与回复。登录