IO模式
IO模式
Linux下一般有五种IO模式
- blocking IO(阻塞I/O)
- noblocking IO(不阻塞I/O)
- I/O multiplexing(IO多路复用)
- 异步IO
- 信号驱动
Nginx和Node的IO实现方式就是epoll
IO多路复用是同步阻塞模式.
和传统的同步阻塞模式一样, IO多路复用也是阻塞在一个进程/线程上. 同样也是主动接受数据.则是同步阻塞.
与之不同的是, 传统同步阻塞IO阻塞在一个socket上, IO多路复用阻塞在select上(select会不断轮询fd数组列表)
信号驱动IO模式存在一个很大的问题是Linux中信号队列是有限的,如果超过限制则无法读取数据。
Redis热数据
RabbitMQ相关