本项目采用Reactor模式,对知名linux多线程高性能网络库muduo进行重构,去除所有boost依赖,全部采用标准库模式与智能指针,并充分利用C++14新特性,使用户更容易理解与使用,提供了多个测试程序。
-
设计并实现高并发TCP网络库,利用C++11特性,处理能力提升至每秒处理XX万次连接。
-
集成Acceptor EventThreadPool,TcpConnection,EventLoop,Channel,Poll等关键模块,优化网络性能,
-
创新引入one loop per thread模型,并结合Reactor模式,增强服务器处理并发请求的效率。
-
重构项目,摒弃Boost依赖,全面使用C++标准库,提升了项目灵活性。
-
引入现代内存管理策略,采用智能指针确保零内存泄露,同时通过atomic类型保障数据一致性。
-
优化缓冲区管理策略,参照Netty实践,通过双指针与snprintf提高日志记录的准确性和易读性
- Acceptor:负责监听客户端的连接请求。
- EventThreadPool:管理一组工作线程,用于处理网络I/O事件。
- EventLoop:每个线程中的核心组件,负责调度事件处理器。
- Channel:封装了对文件描述符的操作,如读写、关闭等。
- Poller:提供了高效的I/O多路复用机制,目前支持
epoll。
《linux多线程服务端编程 使用muduo网络库 》
《linux高性能服务器编程》