IO复用: MariaDB PerconaDB web :Nginx , LNMP, Memcached ,tomcat ,varnish www.nginx.org 官方站点

Nginx pronounced engine-x HTTP服务器 反向代理 :reverse proxy 反向代理的协议 http mail netcraft 网站 web市场占有率

Nginx优势 : 高性能 稳定性 丰富的特性 简单配置 低资源消耗

多进程模型 进程切换 阻塞状态 不可中断睡眠 DMA 直接内存访问

C10K 单进程 :阻塞 多进程 :每个进程响应一个请求 进程量大。进程切换次数过多 每个进程的地址空间是独立,很多空间是重复的数据,所以内存使用效率较低 线程 :thread, Light Weight Process, LWP 每个线程响应一个请求 线程依然需要切换,切换较之进程轻量级 同一个进程的线程可以共享进程的诸多资源,比如打开的文件 对内存的需求较之进程略有下降 快速切换时会带来线程抖动 忙等 :自旋锁 Spin lock 闲等

多进程多线程模型: 多线程:n个请求 一个线程响应多个请求 select(1024) AIO :异步IO

同步通信 异步通信

多路IO,IO复用 IO Models : 阻塞IO 非阻塞IO IO复用 信号驱动IO 异步IO

同步IO和异步IO 异步阻塞IO 又称为IO复用 阻塞IO具体模型详解: 非阻塞IO具体模型详解:

IO复用具体模型详解:

事件驱动IO:水平触发,边缘触发 数据准备完成后向进程通知 5种模型对比 : epoll /dev/poll kqueue

mmap:内存映射 异步IO 实现起来比较复杂

IO:网络IO和磁盘IO httpd : MPM prefork :一个进程响应一个请求 ,1024 worker :一个线程响应一个请求,多线程,一个进程生成多个线程 event :基于事件驱动

Nginx 做反向代理 程序有局部性,数据有局部性 CDN 内容分发网络 依赖于智能DNS 内容路由 缓存路由 hadoop 大数据分析 异步结构 NoSQL 大量写操作时使用 模块化 架构师 拓展起来