共计 2 篇文章

Nginx事件驱动框架

最初的Web服务器如Apache,采用的是fork and run的模式,对每个到来的连接,fork一个进程去处理,处理完成后进程退出。优点是编程实现简单,缺点是并发处理能力不足。为应对高并发的处理,以Nginx为代表的异步处理方式应运而生。 Nginx以事件驱动工作,事件的来源有两个,网络IO和定时器。 对于高并发的网络IO处理,不同的操作系统提供了不同的解决方案,如linux的epoll, freebsd的kqueue。这里以epoll为例。将需要监听的socket加入到epoll中后, ...

libev事件框架使用示例

以Nginx为代表,IO事件+定时器组成的事件驱动构成了现在高性能网络处理的基础,libev库是继​​libevent之后又一个事件库,为编写事件驱动程序提供底层的封装,相比libevent更加精简,没有附加额外的复杂功能。 简单示例 下面是一个简单的例子。 #include<stdio.h> #include<ev.h> ...