Netty系列(二)Reactor模式详解

在正式进入Netty编程模型之前,还需要了解Reactor模式,因为netty就是基于Reactor模式做了一定的改进形成的netty模型。

一. 什么是Reactor模式

首先,Reactor是一种设计模式,不是具体的类,上篇文章中《Netty系列(一)java NIO详解及使用 Demo》,简单介绍了java NIO相关内容,其中的demo就是Reactor模式的一种最简单的实现。

实际上的Reactor模式,是基于Java NIO的,在他的基础上,抽象出来两个组件——Reactor和Handler两个组件:

  • Reactor:负责响应IO事件,当检测到一个新的事件,将其发送给相应的Handler去处理;新的事件包含连接建立就绪、读就绪、写就绪等。
  • Handler:将自身(handler)与事件绑定,负责事件的处理,完成channel的读入,完成处理业务逻辑后,负责将结果写出channel。

如果要自己实现Reactor模式,其中的Reactor和Handler都是需要我们自定义的。

Reactor与Selector的关系?
它俩不是一个层面的东西,Reactor是一种模型,算是设计模式,也就是一种概念;Selector是java NIO包中的一个具体的类,实现Reactor模型,要用到selector这个类。真正实现的时候,我们还会自己创建一个Reactor(名字随意)类,这个类里面包含使用Selector工具类。

二. Reactor模式实现种类

Reactor大致有3种实现方式,每种都有它针对的使用场景,具体可以参考大佬的文档

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值