Description:
C++编写的web服务器,借鉴了《muduo网络库》的思想;使用了Reactor并发模型,非阻塞IO+线程池;解析了get、head请求;并实现了异步日志,记录服务器运行状态。
详细代码可见: https://github.com/whjkm/Web_Server
Architecture:
I/O
多路复用(事件分配器) + 非阻塞I/O
+ 主线程(处理请求)+ 工作线程(读、计算、写) + eventloop
,即Reactor
反应堆模式。
Reactor:
Reactor
设计模式是event-driven architecture
的一种实现方式,处理多个客户端向服务端请求服务的场景。每种服务在服务端可能由多个方法组成。Reactor
会解耦并发请求的服务并分发给对应的事件处理器来处理。