当前位置: 首页 > news >正文

江都微信网站建设深圳制作网页公司

江都微信网站建设,深圳制作网页公司,长沙制作网页联系方式,网络营销解释文章目录 ReactorProactor小结上篇介绍了单服务器高性能的 PPC 和 TPC 模式,它们的优点是实现简单,缺点是都无法支撑高并发的场景,尤其是互联网发展到现在,各种海量用户业务的出现,PPC 和 TPC 完全无能为力。今天我将介绍可以应对高并发场景的单服务器高性能架构模式:Rea…

文章目录

    • Reactor
    • Proactor
    • 小结

上篇介绍了单服务器高性能的 PPC 和 TPC 模式,它们的优点是实现简单,缺点是都无法支撑高并发的场景,尤其是互联网发展到现在,各种海量用户业务的出现,PPC 和 TPC 完全无能为力。今天我将介绍可以应对高并发场景的单服务器高性能架构模式:Reactor 和 Proactor。

Reactor

PPC 模式最主要的问题就是每个连接都要创建进程(为了描述简洁,这里只以 PPC 和进程为例,实际上换成 TPC 和线程,原理是一样的),连接结束后进程就销毁了,这样做其实是很大的浪费。为了解决这个问题,一个自然而然的想法就是资源复用,即不再单独为每个连接创建进程,而是创建一个进程池,将连接分配给进程,一个进程可以处理多个连接的业务。

引入资源池的处理方式后,会引出一个新的问题:进程如何才能高效地处理多个连接的业务?当一个连接一个进程时,进程可以采用“read -> 业务处理 -> write”的处理流程,如果当前连接没有数据可以读,则进程就阻塞在 read 操作上。这种阻塞的方式在一个连接一个进程的场景下没有问题,但如果一个进程处理多个连接,进程阻塞在某个连接的 read 操作上,此时即使其他连接有数据可读,进程也无法去处理,很显然这样是无法做到高性能的。

解决这个问题的最简单的方式是将 read 操作改为非阻塞,然后进程不断地轮询多个连接。这种方式能够解决阻塞的问题,但解决的方式并不优雅。首先,轮询是要消耗 CPU 的;其次,如果一个进程处理几千上万的连接,则轮询的效率是很低的。

为了能够更好地解决上述问题,很容易可以想到,只有当连接上有数据的时候进程才去处理,这就是 I/O 多路复用技术的来源。

I/O 多路复用技术归纳起来有两个关键实现点:

  • 当多条连接共用一个阻塞对象后,进程只需要在一个阻塞对象上等待,而无须再轮询所有连接,常见的实现方式有 select、epoll、kqueue 等。
  • 当某条连接有新的数据可以处理时,操作系统会通知进程,进程从阻塞状态返回,开始进行业务处理。

I/O 多路复用结合线程池,完美地解决了 PPC 和 TPC 的问题,而且“大神们”给它取了一个很牛的名字:Reactor,中文是“反应堆”。联想到“核反应堆”,听起来就很吓人,实际上这里的“反应”不是聚变、

http://www.yayakq.cn/news/839850/

相关文章:

  • 怎么用asp.net做网站城建网官网12319
  • 网站设计规划的目的和要求施工企业的施工现场消防安全责任人应是
  • 云南省住房和建设执业资格注册中心网站视觉中国网站建设公司
  • 网站制作语言有哪些东莞市建筑设计院
  • 农业企业网站建设流程网站怎么做的支付
  • 梅林固件做网站佛山网站建设公司如何组建
  • 贵阳东方蜜蜂网站建设广州网站开发人
  • 网站制作中需要注意的地方html商品展示页面
  • 网站打不开网址显示无法访问wordpress上传视频教程
  • 网站建设后需要维护吗九度互联网站推广公司
  • 做期货都看那些网站wordpress系统
  • 专业微网站电话号码上海网络推广竞价公司
  • 公司网站如何做二维码网站优化的价值
  • 怀化网站建设设计刚察县wap网站建设公司
  • 药品网站建设存在的问题福州 网站建设 快搜网络
  • 网站的性能需求安徽省建设工程信息网招标公告
  • 佛山网站设计网站公司网站建设电话销售开场白
  • 做网站代下网站建设领导讲话稿
  • 泉州握旗公司网站建设河北seo技术交流
  • 电商平台正在建设中网站页面提示石家庄无极网站建设
  • 怎么搞自己的网站网站域名空间怎么弄啊
  • 东莞网站建设网站排名优化自建网站软件
  • 上海在哪建设网站花瓣网网站模板
  • 深圳建网站哪家好网站建设首先要选择题
  • 尚云网站建设如何查看网站 是哪家做的
  • c 网站开发面试题网站怎么加入百度网盟
  • 海口建设网站沈阳开发网站公司哪家好
  • 手机资讯类网站模板长春模板自助建站
  • 怎么找网站的后台地址流量推广平台
  • 门户网站需要多少空间深圳创意网站建设