java架构师指南 Nginx请求处理方式

Nginx是一种高性能的Web服务器,可以同时处理大量并发请求。它结合了多进程机制和异步机制。异步机制使用异步非阻塞模式。接下来,我将介绍Nginx的多线程机制和异步非阻塞机制。
  java架构师问答社区

多进程
  只要服务器接收到客户端。有一个服务器主进程会生成一个工作进程,以建立与客户端的连接以进行交互,直到断开连接,子进程才结束。
  使用进程的优点是每个进程彼此独立,不需要锁定,这减少了使用锁对性能的影响,同时降低了编程的复杂性并降低了开发成本。
  其次,使用独立的进程可以防止进程相互影响。如果某个进程异常退出,则其他进程将正常工作,主进程将快速启动新的工作进程,以确保服务部门被中断并将风险降至最低。
  缺点是操作系统生成一个子进程需要进行内存复制等操作,在资源和时间上会产生一定的开销;当有大量请求时,会导致系统性能下降。
  异步非阻塞
  每个工作进程使用异步非阻塞方式,可以处理多个客户端请求。当某个工作进程接收到客户端的请求以后,调用IO进行处理,如果不能立即得到结果,就去处理其他的请求(即为非阻塞);而客户端在此期间也无需等待响应,可以去处理其他事情(即为异步);当IO返回时,就会通知此工作进程;该进程得到通知,暂时挂起当前处理的事务去响应客户端请求。
  推荐阅读:java架构师指南之什么是架构和架构本质

猜你喜欢

转载自blog.csdn.net/weixin_49698883/article/details/108285588