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

发布时间:2021-08-02 23:36 来源:https://blog.51cto.com/bigdata 阅读:78 作者:wx5ba7ab4695f27 栏目: 云计算 欢迎投稿:712375056

NIO

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

BIO

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

使用场景

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

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

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

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

Netty 的介绍

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

AIO

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

免责声明:本站发布的内容(图片、视频和文字)以原创、来自本网站内容采集于网络互联网转载等其它媒体和分享为主,内容观点不代表本网站立场,如侵犯了原作者的版权,请告知一经查实,将立刻删除涉嫌侵权内容,联系我们QQ:712375056,同时欢迎投稿传递力量。