关于服务模型的进化史:
一、石器时代:同步
一次只为一个请求服务,假设每次应服务用的时定为N,这服务的QPS为1/N。
二、青铜时代:复制进程
100个请求就要复制100个进程,进程复制和预复制非常消耗内存。
三、白银时代:多线程 (Apache)
多线程上下文切换开销大。高并发下无法支撑 -> C10k问题。
四、黄金时代:事件驱动(Node与Nginx)
单线程的问题是:1、CPU的利用率 -> child_process -> cluster 2、进程的健壮性
影响事件驱动服务模型性能的点在于CPU的计算能力,可伸缩性较高。