HTTP 并发响应模型

httpd: MPM 并发响应模型
prefork(select 1024个并发), worker, event

1、穿行响应模型

2、多进程模型,主控进程负责接收链接(监听端口),主控进程fork一个子进程进行通信,子进程占用一个句柄。启动的子进程数量有限,fork的进程需要预先提供好,所以叫prefork。

3、worker模型,线程模型响应,主控进程fork一个子进程(可以由多个自己进程),子进程内部有多个线程去响应链接。

4、event,事件驱动模型,

I/O模型

1、同步 synchronous  一个任务的完成需要依赖于另一个任务时,需要被依赖的任务完成,依赖的才能完成。可靠的任务序列,两个任务可以保持一致,要么都完成要么都失败。

   异步:asyncrhonous  调用者无须等待被调用者,只是通知被依赖者,依赖着还会继续执行后面的任务,无须等待被依赖着任务进度。

 

  两者的消息通知机制不同,被调用者响应的方法有两种:

    同步:等待对方返回消息,

    异步:被调用者通过状态、通知或者回调机制,让调用者得到结果。

      状态:通过轮询来查看状态。盲等。

      通知:被条用者完成后会通知调用者完成。

      回调:外表和通知差不多。

  

  调用结果返回之前,调用者的状态有两种:

    阻塞:block :调用结果返回之前,调用者挂起。

    非阻塞:nonblock: 调用结果返回之前,调用者不会被挂起。

  I/O类型:

    网络IO:本质是socket读取:

    磁盘IO:流

    

    每次IO都经由两个阶段:

      第一步:数据先加载至内核内存空间,可以是阻塞或者非阻塞

      第二步:数据从内核缓冲区复制到用户空间的进程内存中去;这个步骤一定是阻塞的

    数据复制两个阶段  

      等待数据准备完成

      数据内核复制到进程

  

   I/O模型:

    同步阻塞:阶段一,阶段二都挂起

    同步非阻塞:阶段一盲等,阶段二挂起

      I/O 复用: 第一阶段阻塞在io复用,第二阶段阻塞在内核。select机制最多1024个并发,poll

    信号驱动IO:第一阶段解脱出来,第二阶段阻塞

    异步IO:阶段一,阶段二都飞阻塞

时间: 2024-08-26 13:41:05

HTTP 并发响应模型的相关文章

【报文】理解HTTP协议的Request/Response(请求响应)模型

[报文]理解HTTP协议的Request/Response(请求响应)模型 系列目录 [简介]"请求/响应"模型 http://www.cnblogs.com/engraver-lxw/p/7550514.html [原理]理解HTTP协议的Request/Response(请求响应)模型 http://www.cnblogs.com/engraver-lxw/p/7550691.html [报文]理解HTTP协议的Request/Response(请求响应)模型--当前 http:/

Java多线程-并发编程模型

以下内容转自http://ifeve.com/%E5%B9%B6%E5%8F%91%E7%BC%96%E7%A8%8B%E6%A8%A1%E5%9E%8B/: 并发系统可以采用多种并发编程模型来实现.并发模型指定了系统中的线程如何通过协作来完成分配给它们的作业.不同的并发模型采用不同的方式拆分作业,同时线程间的协作和交互方式也不相同.这篇并发模型教程将会较深入地介绍目前(2015年,本文撰写时间)比较流行的几种并发模型. 并发模型与分布式系统之间的相似性 本文所描述的并发模型类似于分布式系统中使

IO复用、多进程和多线程三种并发编程模型

I/O复用模型 I/O复用原理:让应用程序可以同时对多个I/O端口进行监控以判断其上的操作是否可以进行,达到时间复用的目的.在书上看到一个例子来解释I/O的原理,我觉得很形象,如果用监控来自10根不同地方的水管(I/O端口)是否有水流到达(即是否可读),那么需要10个人(即10个线程或10处代码)来做这件事.如果利用某种技术(比如摄像头)把这10根水管的状态情况统一传达到某一点,那么就只需要1个人在那个点进行监控就行了,而类似与select或epoll这样的多路I/O复用机制就好比是摄像头的功能

【简介】“请求/响应”模型

[简介]"请求/响应"模型  "请求/响应"(Request/Response)模型一种通用的网络模型架构.      运用此模型可轻易存取Web资源,简化跨越网络的数据传输操作.它支持HTTP.FTP等通用的网络协议. 一."请求/响应"模型 [简介]"请求/响应"模型--当前 http://www.cnblogs.com/engraver-lxw/p/7550514.html [原理]理解HTTP协议的Request/Re

基本的并发编程模型

基于进程的并发 基本模型 在TCP服务器编程中,多进程并发服务器通常由主进程负责连接的建立,然后fork出子进程,负责该连接剩下的行为,直到关闭. 关于多进程并发服务器有几点重要的内容: 通常服务器会运行很长时间,因此必须要包括一个SIGCHLD处理程序,来回收僵死子进程的资源.因为当SIGCHLD处理程序执行时,SIGCHLD信号是阻塞的,而Unix信号是不排队的,所以SIGCHLD处理程序必须准备好回收多个僵死子进程的资源. 父进程在fork调用后,将连接交给子进程处理,父子进程必须关闭他们

4.并发编程模型

并发系统可以采用多种并发编程模型来实现.并发模型指定了系统中的线程如何通过协作来完成分配给它们的作业.不同的并发模型采用不同的方式拆分作业,同时线程间的协作和交互方式也不相同.这篇并发模型教程将会较深入地介绍目前(2015年,本文撰写时间)比较流行的几种并发模型. 并发模型与分布式系统之间的相似性 本文所描述的并发模型类似于分布式系统中使用的很多体系结构.在并发系统中线程之间可以相互通信.在分布式系统中进程之间也可以相互通信(进程有可能在不同的机器中).线程和进程之间具有很多相似的特性.这也就是

【专家坐堂】四种并发编程模型简介

本文来自网易云社区 概述 并发往往和并行一起被提及,但是我们应该明确的是"并发"不等同于"并行" ?       并发 :同一时间 对待 多件事情 (逻辑层面) ?       并行 :同一时间 做(执行) 多件事情 (物理层面) 并发可以构造出一种问题解决方法,该方法能够被用于并行化,从而让原本只能串行处理的事务并行化,更好地发挥出当前多核CPU,分布式集群的能力. 但是,并发编程和人们正常的思维方式是不一样的,因此才有了各种编程模型的抽象来帮助我们更方便,更不容

HTTP协议请求响应模型

http协议请求响应模型 场景:登录 1.客户端发起请求到api接口 1.1用户在客户端填写用户名和密码,点击登录,发送请求 2.api接收到客户端发起的用户请求 2.1 api对业务逻辑进行验证 2.1.1验证用户名和密码是否合法 比如:用户名要求必须为真实手机号码(11位,1开头,第二位34) 如果验证失败,即用户名不合法,那么需要给客户端发送响应码 比如码值为1,2,3 1代表用户名格式错误 2代表用户名或密码错误 3代表密码格式错误 3.api会将用户输入的数据发给db层 3.1数据库查

浅谈并发性模型的测试策略

目前市面上的不少软件都会用到多方登录或者编辑的并发性问题,针对并发性问题有若干种方法,主要有以下几种: 保守方式:这种并发性模型在数据上加了锁.如果一个用户已经打开了一条记录,那么在允许编辑的环境中,系统就会拒绝来自其他用户的读取数据请求.适用于出现一个以上用户同时编辑相同数据的情况.(缺点:当一个用户已经打开某个数据时,其他用户就不能访问它了,这样导致了系统在使用上有些不方便.由于系统需要管理这些记录锁,所以模型在实现上也会有一定的复杂度.) 开放方式:总是允许用户读取数据,甚至还可能允许更新