Skip to content

Latest commit

 

History

History
10 lines (10 loc) · 1.15 KB

项目架构.md

File metadata and controls

10 lines (10 loc) · 1.15 KB

项目的架构

I/O多路复用(事件分配器) + 非阻塞I/O + 主线程(处理请求) + 工作线程池(读、计算。写) + eventloop,即Reactor反应堆模式

处理流程

  • 创建主线程(主线程注册I/O事件)监听请求并维持eventloop,创建工作线程池处理后续事件并维持eventloop
  • 监听到请求,主线程从阻塞的eventloop唤醒,处理连接请求并以I/O事件封装给工作线程池(轮回的方式分配)的任务队列,每次都会通过TimeManager处理超时的请求并关闭清除
  • 工作线程从eventloop唤醒,工作线程处理后续操作,读,计算解析http报文(状态机),写(根据解析的结果返回http应答(如果出现错误可选泽关闭连接)),服务器可选择关闭连接(长连接或短连接)每次都会通过TimeManager处理超时的请求并关闭清除 注:根据不同的情况优雅的关闭连接,而不是暴力的close

一个请求进来出去的细节

image

项目框架图

image