前言
本文主要总结Linux下C++轻量级Web服务器开发
- 使用 线程池 + 非阻塞socket + epoll(ET和LT均实现) + 事件处理(Reactor和模拟Proactor均实现) 的并发模型
- 使用状态机解析HTTP请求报文,支持解析GET和POST请求
- 访问服务器数据库实现web端用户注册、登录功能,可以请求服务器图片和视频文件
- 实现同步/异步日志系统,记录服务器运行状态
- 经Webbench压力测试可以实现上万的并发连接数据交换
基于github上万star开源项目TinyWebserver TinyWebserver
参考游双《Linux高性能服务器编程》
此前已经整理前置知识并按照模块整理代码,近乎逐行分析介绍
webserver–1.前置知识
webserver–2.线程同步机制封装类
webserver–3.半同步半反应堆线程池