在上一篇文章【C++】I/O多路转接详解(一)
在出现EPOLL之后,随之而来的是两种事件处理模式的应运而生:Reator 和 Proactor,同步IO模型常用于Reactor模式,异步IO常用于Proactor.
目录
1. 服务器编程框架简介
无论是对于单服务器架构还是分布式,集群架构,我们都可以将服务器分为四个主要板块:
- I/O处理单元
- 管理用户连接,一般作为接入层(网关)存在
- 逻辑单元
- 一个逻辑单元是一个用于完成业务的进程或者线程,它分析处理用户数据并将结果传给IO处理单元,直接发给客户端。
- 在集群模式下,一个逻辑单元就是一台逻辑服务器,一般会有多个逻辑单元来进行并行处理任务
- 网络存储单元
- 一般是数据库,缓存,以及文件,或者一台独立服务器。
- 请求队列
- 请求队列是对单元间通信方式的抽象
- 对于服务集群,请求队列是各台服务器之间预先建立的,静态的,永久的TCP连接。
2. IO处理
这一节,我们要讲解目前最主流的IO处理模式,主流网络库基本都是基于此实现,如libevent,moduo…