Netty 介绍

Netty 介绍

  1. Netty 是一个异步的、基于事件驱动的网络应用框架、用以快速开发高性能、高可靠的网络 I/O 程序。
  2. Netty 主要针对在 TCP 协议下,面向 Clients 端的高并发应用,或者 Peer-to-Peer 场景下的大量数据持续传输的应用
  3. Netty 本质是一个NIO 框架,适用于服务器通讯相关的多种应用场景

Netty 介绍

Netty 介绍

I/O 模型

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

Netty 介绍

BIO 流程:

  1. 服务端启动一个 ServerSocket
  2. 客户端启动 Socket 对服务器进行通信,默认情况下服务器需要对每个客户 建立一个线程与之通信
  3. 客户端发出请求后,先咨询服务器是否有线程响应,如果没有则会等待,或者被拒绝
    有线程响应,如果没有则会等待,或者被拒绝
  4. 如果有响应,客户端线程会等待请求结束,在继续执行。