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

企业手机网站建设流程怎样用自己的服务器建设网站

企业手机网站建设流程,怎样用自己的服务器建设网站,青岛网站推广系统,东莞 企业网站建设传统阻塞I/O模式 其中黄色框表示对象,蓝色框表示线程,白色框表示API方法 特点 采用阻塞IO模式获取输入数据每个连接都需要独立的线程完成数据的输入,业务处理和处理结果数据返回 潜在问题 并发数很大时,需要对应每个连接请求创建一个线程,所以占用资源很大连接创建后,若当前…

传统阻塞I/O模式

其中黄色框表示对象,蓝色框表示线程,白色框表示API方法

特点

  • 采用阻塞IO模式获取输入数据
  • 每个连接都需要独立的线程完成数据的输入,业务处理和处理结果数据返回

潜在问题

  • 并发数很大时,需要对应每个连接请求创建一个线程,所以占用资源很大
  • 连接创建后,若当前下线程暂时没有数据操作时,该线程会在操作方法处阻塞,造成线程资源浪费

Reactor模式(Dispatch模式)

针对传统阻塞I/O模式的潜在问题,解决方案如下

  • 基于I/O复用模型解决创建线程数量多的问题:通过一个阻塞对象管理所有连接
  • 基于线程池解决线程资源浪费问题

Reactor模式的设计思想就是I/O复用结合下线程池

核心组成

  • Reator:Reactor在一个单独的thread中运行,负责监听和分发事件,分发给适当的处理程序对IO事件做出反应
  • Handler:真正处理执行Reactor分发过来的IO事件

优势

  • 响应快:不会由于单个同步而导致阻塞
  • 扩展性好:通过方便的增加Reactor实例个数充分利用多核CPU资源
  • 复用性好:Reactor本身与具体的事件处理逻辑无关,具有很高的复用性

根据Reactor的数量和处理资源池线程的数量不同,包括单Reactor单线程、单Reactor多线程和主从Reactor多线程

Reactor单线程

执行流程

  • Reactor通过Select监控客户端请求事件,收到事件后通过Dispatch进行分发
  • 如果是建立连接请求则由Acceptor处理,并且创建Handler对象处理连接完成后的业务
  • 若不是连接请求(比如read)则分发调用对应的Handler来响应(read->业务处理->send流程)

方案分析

  • 模式简单,没有多线程竞争,全部由一个线程完成
  • 性能问题:仅一个线程,无法发挥多核CPU性能
  • 可靠性问题:线程意外终止或者遇到死循环会导致系统不可用
  • 适用于客户端数量有限,业务处理非常快速的场景

Reactor多线程

执行流程

  • Reactor通过Select监控客户端请求事件,收到事件后通过Dispatch进行分发
  • 如果是建立连接请求则由Acceptor处理,并且创建Handler对象处理连接完成后的业务
  • 若不是连接请求(比如read)则Reactor分发调用对应的Handler进行响应(read->分发任务->send流程)
  • Handler只负责响应事件,不做具体业务处理,通过read读取数据会分发给work线程池的某个线程处理业务
  • work线程池会分配独立线程完成真正的业务并将结果返回给Handler
  • Handler收到响应后通过send将结果返回给client

方案分析

  • 可以充分利用多核CPU的处理能力
  • 多线程数据共享和访问比较复杂,reactor处理所有的事件的监听和响应,在单线程、高并发场景下容易出现性能瓶颈

主从Reactor多线程(Netty基于此模式)

执行流程

  • Reactor主线程MainReactor对象通过select监听连接事件,若收到连接请求事件则会通过Acceptor处理
  • 当Acceptor处理完成连接事件后,MainReactor将连接分配给SubReactor(一个MainReactor存在多个子Reactor)
  • SubReactor将连接加入到连接队列进行监听,并创建Handler进行对应事件处理
  • 当存在新事件发生时,subReactor就会调用对应Handler处理
  • Handler只负责响应事件,不做具体业务处理,通过read读取数据会分发给work线程池的某个线程处理业务
  • work线程池会分配独立线程完成真正的业务并将结果返回给Handler
  • Handler收到响应后通过send将结果返回给client

方案分析

  • 主线程和子线程数据交互简单职责明确,主线程负责接收连接,子线程完成后续业务处理
  • 主线程和子线程交互简单,主线程把连接交给子线程,子线程无需返回数据
  • 但编程复杂度比较高
  • 应用于Nginx主从Reactor多进程模型、Memcached主从多线程、Netty主从多线程
http://www.15wanjia.com/news/195002.html

相关文章:

  • 微信app下载安装免费百度seo推广是什么
  • 企业网站制作方案网站建设费如何会计处理
  • seo站长综合查询工具宁夏中卫市林业生态建设局网站
  • 南京网站微信建设做网站价格miniuinet
  • 网站建设设计公司类网站织梦模板(带手机端)wordpress模版怎么弄
  • 网站备案 取名资讯通不过wordpress访问有的目录500
  • 一元抢宝网站开发抖音代运营一般几个周期
  • 商城网站建设推广青岛建设网站
  • 网站建设都需要什么资料做网站构思
  • 我为本公司想建个网站郑州市城乡建设厅网站
  • 电视台网站策划书深圳百度关键词推广
  • 做网站之前需要准备什么条件外链网盘下载
  • 怎么做网络直播卖衣服的网站wordpress如何在文章底部添加目录
  • 有哪些用960gs做的网站企业邮箱域名怎么填写
  • 网站建设如何存数据贵阳市住房和城乡建设局政务网站
  • 制作网页的模板的网站软件开发平台介绍
  • 做做网站已更新seo推广编辑招聘
  • 晋中网站建设哪家强a站网址是什么
  • 安徽住房与城乡建设门户网站网站开发 图片库
  • 如何做京东优惠券网站徐州城乡建设局网站
  • 门户网站开发投标文件泰州网站专业制作
  • 接做名片的网站优速网站建设工作室
  • 织梦上网站次导航怎么做去设计公司还是去企业
  • 凯里网站开发公司邮箱登陆入口
  • 高端的网站制作利用网盘做网站
  • 有口碑的网站建设网站1g空间多大
  • 学校网站 建设措施做图的ppt模板下载网站
  • 公司网站建设与维护方案杭州网站app开发公司
  • anker 网站谁做的巢湖网站建设公司
  • 兴化网页定制厦门seo小谢