Webserver(5.2)网页服务器框架

目录

网页服务器

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

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

服务器编程基本框架

模块:

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

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

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

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

两种高效的事件处理模式

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

reactor模式

同步IO模型实现reactor模式

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

proactor模式

异步IO模型实现proactor模式

同步IO模拟Proactor模式

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

相关推荐
2501_941982059 分钟前
别再手动发群消息了!企业微信外部群自动化推送的架构设计与实现
运维·自动化·企业微信
REDcker14 分钟前
埋点系统设计:从成熟工具到自建方案
运维·服务器·网络·用户分析·埋点·埋点系统
ai_xiaogui17 分钟前
【开源前瞻】从“咸鱼”到“超级个体”:谈谈 Panelai 分布式子服务器管理系统的设计架构与 UI 演进
服务器·分布式·架构·分布式架构·panelai·开源面板·ai工具开发
先做个垃圾出来………19 分钟前
SSH密钥管理最佳实践
运维·ssh
RisunJan21 分钟前
Linux命令-lpr(从命令行提交文件到打印机打印)
linux·运维·服务器
历程里程碑23 分钟前
Linux 库
java·linux·运维·服务器·数据结构·c++·算法
Wpa.wk23 分钟前
接口自动化 - 接口鉴权处理常用方法
java·运维·测试工具·自动化·接口自动化
Sheep Shaun24 分钟前
如何让一个进程诞生、工作、终止并等待回收?——探索Linux进程控制与Shell的诞生
linux·服务器·数据结构·c++·算法·shell·进程控制
一个网络学徒36 分钟前
python5
java·服务器·前端
匀泪39 分钟前
云原生(LVS NAT模式集群实验)
服务器·云原生·lvs