高性能服务器的几种模型概念:
actor模型:
实体之经过消息通信,各自处理本身的数据,可以实现这并行。
这种方式,有点相似rpc。
skynet是actor模型(听说是,具体没研究过)
reactor模型:
1 向事件分发器注册事件回调
2 事件发生
4 事件分发器调用以前注册的函数
4 在回调函数中读取数据,对数据进行后续处理
libevent是reactor模型。
proactor模型:
1 向事件分发器注册事件回调
2 事件发生
3 操做系统读取数据,并放入应用缓冲区,而后通知事件分发器
4 事件分发器调用以前注册的函数
5 在回调函数中对数据进行后续处理
boost库中的asio是proactor模型
reactor和proactor的主要区别是,前者应用在回调函数中读取数据,并后续进行数据处理;而后者数据读取由操做系统完成,并通知回调函数进行数据处理