# 主从Reactor模式HTTP服务器项目 **Repository Path**: runaway-mustang/expand ## Basic Information - **Project Name**: 主从Reactor模式HTTP服务器项目 - **Description**: 自主实现主从Reactor模式,构建一个HTTP服务器 - **Primary Language**: C++ - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2024-07-18 - **Last Updated**: 2024-08-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README ### 项目简介 在设计中采用主从Reactor架构,主Reactor线程负责接受客户端连接并将事件分发至从Reactor线程,从而实现了高效的事件驱动机制。通过这种模式,服务器能够轻松处理大量并发连接,并保持较低的延迟,该项目是一个学习项目 ### 项目架构与实现 - 自主设计主从Reactor架构,实现高并发HTTP请求处理,支持一主多从的高效事件分发机制 - 利用C++11标准线程库,优化了任务调度机制,解决了高并发场景下的资源争抢问题,提高了线程安全性 - 设计并实现较为完善的异常处理机制,包括编译时和运行时异常机制,确保服务器稳定运行 - 通过多Reactor模式,显著提升了服务器响应速度,2核2GLinux云服务器2线程100并发24小时无错请求 - 使用wrk对服务器进行24小时不间断压力测试,累计处理超过9397万请求,平均每秒处理1087次请求,无内存泄漏问题 ### 项目主要亮点 - **高并发处理:** 主从Reactor模式结合线程池设计,在高并发场景下平均延迟降低至218ms,峰值处理能力达每秒3440请求 - **内存管理:** 通过智能指针和RAII,避免内存泄漏。优化内存管理和缓冲区处理,减少内存使用,提高访存性能 - **负载均衡:** 实现高效的负载均衡策略,确保请求均匀的分配到各个工作线程,从而提高系统整体吞吐量 ### 项目使用 - 克隆仓库 - build文件中直接使用CMake进行构建程序即可 - test文件夹中存储这测试所用的文件 ### 待完成改进 - 分布式拓展 - 实时性能监控,优化服务器 - 增强安全机制,引入HTTPS - 引入HTTP2/HTTP3,增强处理请求能力,同时进行容错性测试 ### 贡献参与 欢迎贡献代码,改进该服务器组件,共同学习进步