node.js是单进程应用,要充分利用多核cpu的性能,就需要用到多进程架构. 作为web服务器,不能多个进程创建不同的socket文件描述符去accept网络请求, 有经验的同学知道,如果端口被占用了,再跑一个监听该端口的服务就会报EADDRINUSE异常.那么问题来了,多进程架构如何去解决这个问题? 我们把多进程架构设计成典型的master-workers架构, 一个master, 多个worker. master-workers架构如下图所示: 我们可以在master进程代理accept请…