1.数据包序列化后通过字节流管道 out(输出)tcp/ip协议
2.高并发情况下,阻塞式的通信业务模型(每一个客服端的请求都会重启一个新的线程去响应),将极大地占用线程资源,会增大创建和销毁的资源消耗
导致服务器响应缓慢,甚至任务排队过久、超时、丢失 BIO
二:NIO的通信模式:
NIO:一种非阻塞式通信模式,线程在执行这个通信业务过程中,如果有一个环节没有准备好,那么线程可以去执行其他任务,线程占用的情况大幅度释放。
相对于独有组成部分:
1. Channel NIO 通信当中启用的一种高速通道,这个通道能满足业务来回,减少50%创建管道资源,传输速度大大加快(封装socker)
2.Buffer(缓冲区) 增大了通信的吞吐量的港口
3.Selector(多用服用注册器) 注册通信事件地方,多路复用注册器 Netty 是在nio基础拓展 事件驱动模型的通信框架
4.SelectKey Socket 事件类型描述组件 Selectkey包含了信息包中所属哪个客户端的信息(Channel信息),还包含了这个通信的具体事件类型
一个线程可以维护Selector达到维护对个客户端通信业务
总结:1.NIO是基于事件驱动模型,因此占用服务器资源大大减少
2.缓存区的出现配上高速通道 大大加速传输的效率
3.一个线程维护多个客户端处理模型(客户端的状态都是维护在Select 一个线程去监听Selector 等于维护了多个客户端)
4.SelectKey Channel 里面的信息 ,信息包含这个客户端的信息和客户端处于什么事件类型
Netty 缓存区改善:
线程池维护多个Selector
引进Reactor线程模型 通过启动参数确定最终适合系统的运行模式 辅助启动类的构建使用
缓冲区读写模式切换不需要手动了