c++后端开发使用 Epoll 边沿触发的 IO 多路复用技术,非阻塞 IO,使用 Reactor 模式
使用多线程充分利用多核 CPU,并使用线程池避免线程频繁创建销毁的开销
使用基于小根堆的定时器关闭超时请求
主线程只负责 accept 请求,并以 Round Robin 的方式分发给其它 IO 线程(兼计算线程),锁的争用只会出现在主线程和某一特定线程中
使用 eventfd 实现了线程的异步唤醒
使用双缓冲区技术实现了简单的异步日志系统
为减少内存泄漏的可能,使用智能指针等 RAII 机制
使用状态机解析了 HTTP 请求,支持管线化
支持优雅关闭连接