JAWS模块分析(小东子)

JAWS模块分析(小东子)
前言:学习ACE也已经有半年了,虽然还很肤浅,但感觉有那么一点意思了。最近分析了一下JAWS模块,拿出来跟大家共通交流。欢迎大家的讨论。杜绝商业目的,并保持文章的完整性。
本人信箱:yuanjiandong512@163.com
一  JAWS模块概况
总则:
JAWS主要有四个主要分块:并发策略(线程池、每个申请一个线程、单线程),I/O策略(同步,反应式,异步方式),协议处理(管道方式,模块方式),文件系统(LRU,LFU)。
   JAWS主要的设计模式,单体模式,抽象工厂模式,工厂方法模式,反应器模式,主动对象模式,流水线模式,服务器运行时配置方式等)
   JAWS的架构如图1-1所示:(总体方案)

图1-1  JAWS Web服务器构架
JAWS的并发策略如图1-2所示:


图1-2  JAWS 并发策略(线程池、Thread-per-Request)
JAWS的I/O策略如图1-3所示:


图1-3  JAWS I/O策略(同步策略、反应式、异步方式)
JAWS的协议流水线策略如图1-4所示:

图1-4  JAWS协议流水线策略
JAWS的文件缓存策略如图1-5所示:

图1-5  JAWS文件缓存策略
二 JAWS1程序分析
一 概述
   JAWS1的程序实现没有完成全部JAWS的设计思想,主要进行了并发策略、I/O策略的完成。设计结构跟JAWS2比较,没有JAWS2的面向对象结构化强,没有它封装的好。
二 程序流程
第一阶段:MAIN()到数据库的INIT()
1、main() -> ACE_Service_Config.open()(采用运行时配置模式,svc.conf文件配置)加载生成的动态库(此处采用ACE自己的生产动态库的方式,参考书1,p24)(本分析采用默认选项:线程池,同步I/O)
2、http_server::init(),分析参数,根据参数选择并发策略(同步线程池、异步线程池、

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值