4 人参与回答
第一:高并发,高性能 :
Y轴每秒的请求数 QPS X轴并发连接数 我们可以看到大部的Web服务器和程序会随着并发连接数的上升,QPS显著下降;而Nginx的第一个优点就是高并发和高性能同时具备的;往往高并发只需要我们对每个连接所使用的内存尽量小就可以了;而高并发的同时需要高性能往往需要非常好的设计;而Nginx可以达到一个什么样的标准尼?比如说我们现在主流的一些服务器32核64G内存 可以轻松的达到数千万的并发连接如果是处理一些简单的静态资源请求,可以达到100万的QPS这样的级别;
第二:可扩展性好
主要体现在它的模块化设计;模块化设计非常的稳定.使得Nginx的第三方模块的生态圈非常的丰富;丰富的生态圈为我们Nginx丰富的功能提供了保证;
第三:高可靠性
所谓高可靠性 是指Nginx可以在服务器上持续不间断的运行数年;而许多Web服务器运行几周或几个月就需要进行重启;对于Nginx这样的高并发高性能的反向代理服务器而言;它往往运行在企业内网的边缘节点上;对于Nginx持续运行能够宕机的时间一年可能只能 需要以秒来记;
第四:热部署
是指在不停止服务的情况下升级Nginx,这个功能对Nginx来说非常的重要,因为在Nginx上可能跑了数百万的并发连接;如果是普通的服务,我们可能需要kill进程再重启的方式就可以处理好;但是对于Nginx而言kill进程会导致操作系统为所有的已经建立连接的客户端发送一个TCP中的resend free包,而很多客户端是没有办法处理free请求的;在大并发的场景下,一些偶然时事件就会导致必然的恶性结果;所以热部署是非常有必要的;