WebServer面试问答

WebServer概览

  • epoll ET模式(边缘触发模式)
  • mysql数据库
  • 连接池
  • 线程池
  • 日志
  • 定时器
  • Reactor模式
  • http
  • 大端序小端序
  • 读写缓冲区

大概流程

主线程监听连接

主线程让epoll监听活跃的文件描述符

处理完之后开工作线程

工作线程任务(读写是分开的,不一定是同一个线程操作)

读写缓冲区是数据httpconn的,httpconn是一个类,一个用户实例,所以直接独立了。

  • read客户端数据(用非阻塞IO)
    • 有个读缓冲,每个连接独享一个读和写缓冲,有个65K缓冲区,保证能一次读完,读不完就扩容
  • 以下业务逻辑
    • 先去看读缓冲有没有数据
    • 解析HTTP
    • 生成响应数据
    • 封装响应数据回传

Reactor没有分离读和写业务逻辑,Proactor才可以实现封装业务逻辑

性能相关

半同步半反应堆模式

  • 一种高效的并发模式(半同步/半异步模式)的一种实现方式,另一种并发模式是领导之/追随者模式。
  • 并发模式指的是I/O处理单元和多个逻辑单元之间的协调完成任务的方法。
  • 这里的同步和异步与I/O模型中的同步与异步不同:
    • I/O模型:内核向应用程序
  • 2
    点赞
  • 17
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值