NIO通信了解

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线程模型 通过启动参数确定最终适合系统的运行模式 辅助启动类的构建使用

缓冲区读写模式切换不需要手动了

 

posted @ 2017-10-25 22:14  塑料味的美年达  阅读(177)  评论(0编辑  收藏  举报