Cluster模块基本原理
node提供process.on('uncaughtException', handler)事件用于监听当前进程崩溃事件,配合fork方法,即可在进程崩溃的时候新建一个新进程,即可继续执行业务代码
但是遇到进程中出现死循环的情况,node不会报任何错误,cpu使用率则会飙升到100%。业务场景中,如果不使用alinode等监控工具,甚至无法准时得到报警信息。
借鉴egg.js的进程维护方式,在leader/follower模式中,以follower对leader发送心跳包的方式监控follower健康情况。
![](https://img.haomeiwen.com/i6337594/0b6d002674c20b73.png)
这种情况下,进程只会输出一个”hi“,然后就停掉了。单线程nodejs中,如果当前流程未执行完毕,则不会从事件队列中获取新的事件
网友评论