多reactor模式模拟Proactor模式的C++高性能高并发HTTP服务器

多reactor模式模拟Proactor模式的C++高性能高并发HTTP服务器

github地址:https://github.com/1249302623/myWebServer

介绍

本项目为linux下C++11编写的Web资源服务器,支持web端用户实现注册、登录功能,可以请求服务器图片和视频文件,实现同步/异步日志系统,记录服务器运行状态,经压力测试可以实现至少两万的并发连接客户端,50s内处理请求200w个,0失败,每秒响应请求4w多个。

环境

  • 操作系统: Ubuntu 16.04.12
  • 编译器: g++ 5.4.0
  • IDE:vscode
  • 服务器配置:4核8G华为云主机
  • 数据库:mysql

运行

进入build目录,执行./LiuServerPro文件
必须在build目录执行,否则无法正确识别HTML文件

  • cd build

  • ./LiuServerPro

运用技术

  • 使用主从Reactor线程池模拟Proactor模式,reactor线程池充当Proactor的异步IO线程。
  • 使用Epoll边沿触发的IO多路复用技术构建Reactor线程池,主reactor线程只负责accept请求,并以RoundRobin的方式分发给从reactor线程。从reactor线程池在接收完数据后通知Proactor用户线程。
  • 构建Proactor用户线程池,对tcp数据进行处理,执行用户函数。
  • 使用基于小根堆的定时器关闭超
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值