第三章 Nginx服务器架构初探

一、Nginx服务器处理请求
(1)Single 模型
单进程方式
(2)Master-Worker模型
Master-Slave模型

二、Nginx服务器的事件处理机制
事件驱动模型:事件收集器;事件发送器;事件处理器组成
系统架构:预先设计一个事件循环形成的程序,循环不断检查目前要处理的事件信息
然后使用“事件发送器”传送给”事件处理器“。事件处理器通常运用虚函数进制来实现。

Nginx事件驱动模型
事件驱动处理库又被称为多路IO复用:select/poll/epoll
select和poll的区别:
select需要为读事件,写事件和异常事件分别创建一个描述符集合,因此
在最后轮询的时候,需要分别轮询这三个集合。
poll只需要创建一个集合,在每个描述符对应的结构上分别设置了读事件,写事件或者异常事件,
最后轮询的时候,可以同时检查这三种事件是否发生,可以说poll是select的优化实现。


epoll实现:
epoll通过相关调用通知内核创建一个有N个描述符的事件列表;然后,给这些描述符设置所关注的事件,
并把它添加到内核的事件列表中。

select/poll和epoll的区别:
(1)进程支持的打开的描述符连接数目不同
(2) FD剧增后带来的IO效率问题,一个需要线性遍历;一个不需要(回调通知)
(3) 消息传递方式,一个需要拷贝,一个使用了共享内存方式

三、Nginx服务器架构
主进程:主要进行Nginx配置文件的解析,数据结构初始化,模块配置和注册,信号处理,网络监听生成,工作进程生成和管理等工作。
工作进程:主要进行进程初始化,模块调用和请求处理等工作,是Nginx服务器提供服务的主体。
缓存索引重建及管理进程:数据缓存和更新





评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值