Nginx是俄罗斯人编写的十分轻量级的HTTP服务器,Nginx,它的发音为“engineX”,是一个高性能的HTTP和反向代理服务器,同时也是一个IMAP/POP3/SMTP代理服务器.Nginx是由俄罗斯人IgorSysoev为俄罗斯访问量第二的Rambler.ru站点开发.Nginx以事件驱动(epoll)的方式编写,所以有..
分类:
其他好文 时间:
2017-08-15 22:55:29
阅读次数:
348
这些名词比较绕口,理解涵义就好。一个epoll场景:一个酒吧服务员(一个线程),前面趴了一群醉汉,突然一个吼一声“倒酒”(事件),你小跑过去给他倒一杯,然后随他去吧,突然又一个要倒酒,你又过去倒上,就这样一个服务员服务好多人,有时没人喝酒,服务员处于空闲状态,可以干点别的玩玩手机。至于epoll与s ...
分类:
其他好文 时间:
2017-08-15 19:47:07
阅读次数:
171
IO linux内核将所有外部设备都看做一个文件来操作,对一个文件的读写会调用内核系统命令,放回一个file descriptor(文件描述符), 对一个socket的读写也会有相应的描述符,称为socketfd Java NIO的核心类库多路复用器Selector就是基于epoll的多路复用技术实 ...
分类:
编程语言 时间:
2017-08-13 18:38:33
阅读次数:
205
本节内容 Gevent协程 Select\Poll\Epoll异步IO与事件驱动 Python连接Mysql数据库操作 RabbitMQ队列 Redis\Memcached缓存 Paramiko SSH Twsited网络框架 引子 到目前为止,我们已经学了网络并发编程的2个套路, 多进程,多线程, ...
分类:
数据库 时间:
2017-08-10 01:16:22
阅读次数:
222
Python之路 异步IO\数据库\队列\缓存 本节内容 Gevent协程 Select\Poll\Epoll异步IO与事件驱动 Python连接Mysql数据库操作 RabbitMQ队列 Redis\Memcached缓存 Paramiko SSH Twsited网络框架 引子 到目前为止,我们已 ...
分类:
数据库 时间:
2017-08-09 20:08:01
阅读次数:
323
By francis_haoAug 5,2017 APUE讲多路转接的章节介绍了select、pselect和poll函数。而epoll是linux内核在2.5.44引入的。在glibc 2.3.2添加了支持。 epoll_create – 打开一个epoll文件描述符 epoll_ctl – 控制... ...
分类:
其他好文 时间:
2017-08-06 00:14:02
阅读次数:
343
Reactor这个词译成汉语还真没有什么合适的,很多地方叫反应器模式,但更多好像就直接叫reactor模式了,其实我觉着叫应答者模式更好理解一些。通过了解,这个模式更像一个侍卫,一直在等待你的召唤。 1.reactor的形象比喻入门 并发系统常使用reactor模式,代替常用的多线程的处理方式,节省 ...
分类:
其他好文 时间:
2017-08-03 15:05:07
阅读次数:
310
IO多路复用之epoll总结epoll是在2.6内核中提出的,是之前的select和poll的增强版本。相对于select和poll来说,epoll更加灵活,没有描述符限制。epoll使用一个文件描述符管理多个描述符,将用户关系的文件描述符的事件存放到内核的一个事件表中,这样在用户空间和内核空间的copy..
分类:
其他好文 时间:
2017-08-03 12:32:42
阅读次数:
162
背景介绍Nginx自诞生起就采用了2.6以后内核所支持的epoll模型进而使得处理效率大幅提升而受到了广大用户的青睐,但就Web服务来讲,Nginx所拥有的功能Apache都可以实现,但反过来确不行,这就是大多数场景时使用Nginx作为反向代理而不能取代Apache的原因。本文以Nginx_1.12.1版..
分类:
Web程序 时间:
2017-08-03 09:59:08
阅读次数:
257
一、select 1.起源 select最早于1983年出现在4.2BSD中(BSD是早期的UNIX版本的分支)。 它通过一个select()系统调用来监视多个文件描述符的数组,当select()返回后,该数组中就绪的文件描述符便会被内核修改标志位,使得进程可以获得这些文件描述符从而进行后续的读写操 ...
分类:
其他好文 时间:
2017-08-02 22:17:17
阅读次数:
147