前言
一个服务器框架可划分为三个部分,分别是 I/O模型、事件处理模式、并发模式。
图.1
I/O处理单元:处理客户连接,读写网络数据(机群情况:可实现负载均衡)
逻辑处理单元:业务进程/线程(机群情况:逻辑服务器)
网络存储单元:本地数据库、文件或者缓存(机群情况:数据库服务器)
当然,划分并不是一成不变的;如有时I/O处理单元的 读写网络数据 可能由逻辑处理单元承担,那就是要看 时间处理模式 了。
I/O模型
如,设置为阻塞还是非阻塞、是同步还是异步。(select/poll/epoll服用I/O的选择)
事件处理模式
半同步/半异步模式
Reactor模式
图.2 Reactor模式
Proactor模式
图.3 Proactor模式
此模式配合的I/O模型是 信号驱动I/O
领导者/追随者模式
暂不讨论