Netty入门理论知识

Netty入门理论知识

1.什么是Netty

Netty 是一个利用 Java 的高级网络的能力,隐藏其背后的复杂性而提供一个易于使用的 API 的客户端/服务器框架。

2.Netty的特点

并发量

传输快

封装好

3.阻塞和非阻塞

阻塞(BIO):

Netty入门理论知识插图

非阻塞(NIO):

Netty入门理论知识插图(2)

4.常见的五种io

BIO,同步阻塞IO,阻塞整个步骤,如果连接少,他的延迟是最低的,因为一个线程只处理一个连接,适用于少连接且延迟低的场景,比如说数据库连接。

NIO,同步非阻塞IO,阻塞业务处理但不阻塞数据接收,适用于高并发且处理简单的场景,比如聊天软件。

多路复用IO,他的两个步骤处理是分开的,也就是说,一个连接可能他的数据接收是线程a完成的,数据处理是线程b完成的,他比BIO能处理更多请求。

信号驱动IO,这种IO模型主要用在嵌入式开发,不参与讨论。

异步IO,他的数据请求和数据处理都是异步的,数据请求一次返回一次,适用于长连接的业务场景。

5.Netty重要概念介绍

1.channel

Channel,表示一个连接,可以理解为每一个请求,就是一个Channel。

ChannelHandler,核心处理业务就在这里,用于处理业务请求。

ChannelHandlerContext,用于传输业务数据。

ChannelPipeline,用于保存处理过程需要用到的ChannelHandler和ChannelHandlerContext。

2.ByteBuf

ByteBuf是一个存储字节的容器,最大特点就是使用方便,它既有自己的读索引和写索引,方便你对整段字节缓存进行读写,也支持get/set,方便你对其中每一个字节进行读写

3.Codec

Netty中的编码/解码器,通过他你能完成字节与pojo、pojo与pojo的相互转换,从而达到自定义协议的目的。 在Netty里面最有名的就是HttpRequestDecoder和HttpResponseEncoder了。

3.Netty和Tomcat有什么区别?

Netty和tomcat最大的区别是:通信协议,tomcat就是基于http的web端协议,而Netty可以自定义通信协议并且还可以自己编码

 

站内大部分资源收集于网络,若侵犯了您的合法权益,请联系我们删除!
欧资源网 » Netty入门理论知识

发表评论

提供最优质的资源集合

立即查看 了解详情
赞助VIP 享更多特权,建议使用 QQ 登录
喜欢我嘛?喜欢就按“ctrl+D”收藏我吧!♡