Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

lengender/WebServer

Open more actions menu

Repository files navigation

WebServer

采用事件驱动+non-blocking I/O+线程池+mysql的架构,整个服务器的I/O处理单元由主线程完成, 使用epoll实现了事件驱动和高效的IO多路复用。逻辑单元由线程池中工作线程完成。 线程池的设计采用半同步/半反应堆模式,使用一个工作队列完全解除主线程和工作线程的耦合关系, 主线程往工作队列中插入任务,工作线程通过竞争来获取任务并执行。服务器存储单元使用mysql数据库完成。 在逻辑单元内部使用有限状态机对http请求进行解析,同时,为了节省资源和处理一些突发状况, 服务器为每一个socket连接设置一个定时器,当定时器超时,服务器自动清理超时连接。 定时器采用最小堆实现,服务器总是以堆顶超时值作为定时器心搏函数的调用间隔,以此实现较为精确的定时。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published
Morty Proxy This is a proxified and sanitized view of the page, visit original site.