5.3 Nginx服务器的事件驱动模型

Nginx服务器的工作进程调用IO后,就去进行其他工作了;当IO调用返回后,会通知工作进程。这里有一个问题,IO调用是如何把自己的状态通知给工作进程的呢?

一般解决这个问题的方案有两种。

  • 一是,让工作进程在进行其他工作的过程中间隔一段时间就去检查一下IO的运行状态(轮询),如果完成,就去响应客户端,如果未完成,就继续正在进行的工作;

  • 二是, IO调用在完成后能主动通知工作进程

事件驱动处理库又被称为多路IO复用方法,最常见的包括以下三种:select模型poll模型epoll模型。Nginx服务器还支持rtsig模型kqueue模型dev/poll模型eventport模型等。通过Nginx配置可以使得Nginx服务器支持这几种事件驱动处理模型。

Last updated