加入收藏 | 设为首页 | 会员中心 | 我要投稿 湖南网 (https://www.hunanwang.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 业界 > 正文

聊聊高机能处事器Server之Reactor模子

发布时间:2019-01-18 00:59:56 所属栏目:业界 来源:正经地扯淡
导读:在这个充斥着云的期间,我们行使的软件可以说99%都是C/S架构的! 你发邮件用的Outlook,Foxmail等 你看视频用的优酷,土豆等 你写文档用的Office365,googleDoc,Evernote等 你赏识网页用的IE,Chrome等(B/S黑白凡的C/S) C/S架构的软件带来的一个明明的甜头就是

Reactor模子

  • AWT Events
  • 聊聊高机能处事器Server之Reactor模子

Reactor模子和AWT变乱模子很像,就是将动静放到了一个行列中,通过异步线程池对其举办斲丧!

Reactor中的组件

  • Reactor:Reactor是IO变乱的派发者。
  • Acceptor:Acceptor接管client毗连,成立对应client的Handler,并向Reactor注册此Handler。
  • Handler:和一个client通信的实体,按这样的进程实现营业的处理赏罚。一样平常在根基的Handler基本上还会有更进一步的条理分别, 用来抽象诸如decode,process和encoder这些进程。好比对Web Server而言,decode凡是是HTTP哀求的理会, process的进程会进一步涉及到Listener和Servlet的挪用。营业逻辑的处理赏罚在Reactor模式里被分手的IO变乱所冲破, 以是Handler必要有恰当的机制在所需的信息还不全(读到一半)的时辰生涯上下文,并在下一次IO变乱到来的时辰(另一半可读了)能继承间断的处理赏罚。为了简化计划,Handler凡是被计划成状态机,按GoF的state pattern来实现。

对应上面的NIO代码来看:

  • Reactor:相等于有分发成果的Selector
  • Acceptor:NIO中成立毗连的谁人判定分支
  • Handler:动静读写处理赏罚等操纵类

Reactor从线程池和Reactor的选择上可以细分为如下几种:

Reactor单线程模子

聊聊高机能处事器Server之Reactor模子

这个模子和上面的NIO流程很相同,只是将动静相干处理赏罚独立到了Handler中去了!

(编辑:湖南网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读