我是靠谱客的博主 感动学姐,最近开发中收集的这篇文章主要介绍Nginx如何处理http请求,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

Nginx这块的处理时结合多进程机制和异步机制 ,异步机制使用的是异步非阻塞方式

首先呢是多进程机制

每当服务器收到一个客户端请求时,就有服务器主进程 ( master process )生成一个 子进程( worker process )出来和客户端建立连接进行交互,直到连接断开,该子进程就结束了。

使用进程的好处是各个进程之间相互独立,不需要加锁,减少了使用锁对象能造成影响,同时降低编程的复杂度,降低开发成本。接着呢就是采用独立的进程,可以让进程互相之间不会影响 ,如果一个进程发生异常退出时,其它进程正常工作, master 进程则很快启动新的 worker 进程,确保服务不会中断,从而将风险降到最低。缺点是操作系统生成一个子进程需要进行 内存复制等操作,在资源和时间上会产生一定的开销。当有大量请求时,会导致系统性能下降

还有就是异步非阻塞机制

每个工作进程 使用 异步非阻塞方式 ,可以处理多个客户端请求 。

当某个工作进程接收到客户端的请求以后,调用 IO 进行处理,如果不能立即得到结果,就去 处理其他 请求 (这就是非阻塞 );而 客户端 在此期间也 无需等待响应 ,可以去处理其他事情(这就是异步 )。

当 IO 返回时,就会通知此工作进程 ;该进程得到通知,暂时挂起 当前处理的事务去响应客户端请求 。

最后

以上就是感动学姐为你收集整理的Nginx如何处理http请求的全部内容,希望文章能够帮你解决Nginx如何处理http请求所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(58)

评论列表共有 0 条评论

立即
投稿
返回
顶部