Nginx服务架构初探(一)

事件了解一下 基本事件驱动如下

7.事件驱动模型
        1>select库 先创建三个关注事件描述符(读/写/异常) 然后调用低层select()函数  等待事件发生
        2>poll库 同select库机制一样  但不同的是只创建一个关注事件描述符 在结构上设置(读/写/异常)
        3>epoll库 通知内核创建N个描述符列表 然后epoll库会等待内核通知事件发生 是高性能事件驱动之一
        4>rtsig模型 实时信号 使用rtsig时 通过系统内核建立一个rtsig队列用于存放标记事件 等待工作进程处理 当队列信号溢出时(默认1024 可修改) nginx将停止使用rtsig 而是使用poll库处理未处理的事件 直到rtsig 队列全部清空 然后再次启动rtsig模型,以防止新的溢出发生
        5>kqueue模型 与epoll没有本质区别 同时支持条件触发(满足条件)和边缘触发(状态变化)
        6>/dev/poll模型 unix平台使用了虚拟/dev/poll设备 将要监视的文件描述符加入这个设备 然后通过ioctl()调用来获取事件通知 在solaris ph/ux IRIX Tru unix中建议使用此方式
        7>eventport模型  用于支持solaris10 可以有效的防止内核崩溃等情况的发生

转载于:https://my.oschina.net/ives/blog/1814517

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值