Nivelle 开拓视野冲破艰险看见世界 身临其境贴近彼此感受生活

Netty

2018-07-24

特点

  • 基于java NIO 的异步和事件驱动的实现,保证了高负载下应用程序性能的最大化和可伸缩性

  • 采用设计模式,实现从网络层解耦

核心组件

Channel

对网路套接字的封装,能够提供I/O操作例如读,写,连接,绑定等,具体功能如下:
  • 当前通道的状态(例如:已连接,打开)

  • 获取当前通道的配置,也就是ChannelConfig的值。(接收数据的缓存大小)

  • 当前通道的操作(例如:读,写,连接,绑定)

  • ChannelPipeline它能购处理所有I/O事件,它和通道是相关联的

特点:
  1. 所有的I/O操作都是异步的

  2. 通道是分层的

  3. 能够通过close()操作释放资源

EventLoop

Netty 是基于事件驱动模型,使用不同的事件来通知我们状态的改变或者操作状态的改变。它定义了在整个连接的生命周期里当有事件发生的时候处理的核心抽象。用于处理生命周期中发生的所有事件
  • 一个 EventLoopGroup 包含一个或多个 EventLoop。

  • 一个 EventLoop 在它的生命周期内只能与一个Thread(I/O线程)绑定,这个线程负责处理注册到这个EventLoop上的I/O事件

  • 一个 Channel 在它的生命周期内只能注册与一个 EventLoop。

  • 一个 EventLoop 可被分配至一个或多个 Channel 。

ChannelFuture


上一篇 jvm调优参数

下一篇 学习计划

评论