Webserver(5.2)网页服务器框架

目录

网页服务器

接收、存储,处理来自客户端的HTTP请求,并对其请求做出HTTP响应。

Web服务器底层是基于tcp协议的,因为要保证数据安全。

服务器编程基本框架

模块:

IO处理单元:处理客户连接,读写网络数据

逻辑单元:业务进程或线程

网络存储单元:数据库、文件或缓存

请求队列:各单元之间的通信方式

两种高效的事件处理模式

需要处理三类事件:IO事件、信号及定时事件

reactor模式

同步IO模型实现reactor模式

主线程只监听文件描述符上是否有事件发生,有的话就立即将该事件通知工作线程(逻辑单元),将socket可读可写事件放入请求队列,交给工作线程处理。

proactor模式

异步IO模型实现proactor模式

同步IO模拟Proactor模式

主线程执行数据读写操作,读写完成之后,主线程向工作线程通知这一完成事件。

相关推荐
Aspiresky5 分钟前
浅析Linux进程信号处理机制:基本原理及应用
linux·运维·信号处理
全栈工程师修炼指南42 分钟前
告别手动构建!Jenkins 与 Gitlab 完美协作,根据参数自动化触发CI/CD流水线实践
运维·ci/cd·自动化·gitlab·jenkins
ajassi20001 小时前
linux C 语言开发 (八) 进程基础
linux·运维·服务器
matlab的学徒2 小时前
Web与Nginx网站服务(改)
linux·运维·前端·nginx·tomcat
Insist7532 小时前
prometheus安装部署与alertmanager邮箱告警
linux·运维·grafana·prometheus
xqlily3 小时前
Linux操作系统之Ubuntu
linux·运维·ubuntu
倔强的石头1063 小时前
【Linux指南】Makefile入门:从概念到基础语法
linux·运维·服务器
ajassi20003 小时前
linux C 语言开发 (七) 文件 IO 和标准 IO
linux·运维·服务器
一只游鱼3 小时前
Zookeeper介绍与部署(Linux)
linux·运维·服务器·zookeeper
lllsure4 小时前
【Docker】存储卷
运维·docker·容器