0
点赞
收藏
分享

微信扫一扫

Netty(一):简介以及IO模型

西特张 2022-03-10 阅读 72



文章目录


  • ​​Netty 的介绍​​
  • ​​网络模型​​

  • ​​BIO​​
  • ​​NIO​​
  • ​​AIO​​

  • ​​使用场景​​


Netty 的介绍

Netty是JBOSS提供的基于java开源的一个异步,基于事件驱动的网络应用框架,以快速开发高性能,高可靠的网络IO程序。

主要针对TCP协议下,面向Client端高并发应用,或者Peer-to-Peer下大了数据持续传输的应用,适用服务器通讯相关多种应用场景

tcp/ip协议 -> 基于jdk的 i网络模型 -> NIO(io,网络) -> NIO

网络模型

java的网络编程模型: BIO.NIO,AIO

BIO

同步并阻塞(传统阻塞型):服务器实现模式为一个连接一个线程,即客户端有连接请求时服务端就需要启动一个线程进行处理,但是如果这个连接不做任何事情,就会造成不必要的线程开销

NIO

同步非阻塞,服务器实现模式为一个线程处理多个请求(连接),即客户端发送的连接请求都会注册到多路复用器上,多路复用器轮询连接有IO请求进行处理

AIO

异步非阻塞,AIO引入异步通道的概念,采用Proactor模式,简化了程序编写,有效的请求才启动线程,特点是先由操作系统完成后才通知服务端程序启动线程去处理,一般适用于连接数较多,连接时间较长的应用

使用场景

BIO 适用连接数目小固定的架构,NIO适用于连接数目多,连接短的架构,比如聊天,弹幕,服务器间通讯,AIO连接长,连接数目多,比如相册服务器,充分调用参与并发操作,编程比较复杂



举报

相关推荐

0 条评论