0%

搭建轻量级Web服务器<一>

TinyWebServer

参考Github在Linux下搭建C++轻量级Web服务器,快速实践学习网络编程,搭建属于自己的服务器.

  • 使用线程池 + epoll(ET和LT均实现) + 模拟Proactor模式并发模型

  • 使用状态机解析HTTP请求报文,支持解析GET和POST请求

  • 通过访问服务器数据库实现web端用户注册、登录功能,可以请求服务器图片和视频文件

  • 实现同步/异步日志系统,记录服务器运行状态

  • 经Webbench压力测试可以实现上万的并发连接数据交换

    框架

  • 项目框架主要分为I/O处理单元、逻辑处理单元和存储单元三个模块

    • I/O处理单元和逻辑处理单元对应半同步/半反应堆线程池

    • 逻辑处理单元和存储单元对应数据库连接池和日志系统

  • 半同步/半反应堆线程池将web端和服务器端建立通信

    • 实现http请求报文的处理与响应

    • 定时器完成非活动连接的处理

  • 数据库连接池避免频繁访问数据库,实现登录和校验功能

  • 日志系统实现同步和异步两种方式记录服务器运行状态

喜欢你就打赏一下