学习思路

  1. Netty功能结构
  2. 各模块简介,相关名词解释
  3. 核心组件介绍

一、Netty功能结构介绍

Netty解析-架构模块讲解

解释:

  1. Transport Services:传输服务,具体网络传输的定义与实现
    1. Socket Datagram:TPC、UDP传输实现
    2. HTTP Tunnel:http传输协议实现
    3. In-VM pipe:内部JVM传输实现
  2. Protocol Support:协议支持
    1. Http协议、SSL、Google
    2. 压缩、大文件传输协议、实时流传输协议
  3. Core:核心功能
    1. Extensible Event Model:可扩展的事件模型
    2. Universal Communication API:通用通讯API
    3. Zero-Copy-Capable Rich Byte Buffer:支持0拷贝字节缓冲(ByteBuf缓冲对象)

二、各模块简介,相关名词解释

主要模块依赖关系图

Netty解析-架构模块讲解

项目结构:

Netty解析-架构模块讲解

解释:

1、common:主要是一些通用的工具类以及并发工具的拓展等,大部分模块都依赖属于顶层

2、buffer:实现了自己的ByteBuffer比JDK的ByteBuffer功能强大很多

3、codec:实现了各种编码解码,看图中有很多针对不同类型的拓展实现(http,redis,xml、、)

4、handler:主要定义和实现了内部的连接渠道处理器

5、transport:网络传输的各种定于与实现

三、核心组件介绍

Netty的核心组件主要有:

  • Bootstrap & ServerBootstrap
    • Netty启动器,包装了各个组件方便用户启动服务
    • Bootstrap:主要用于启动客户端;ServerBootstrap:主要用于启动服务端
  • Channel
    • 封装了Netty的基本IO操作包含read,write,bind,connect等操作相对原始的Socket操作更简单
  • ChannelFuture
    • 因为Netty的IO操作都是异步的,不能实时返回结果,所以需要注册监听,等处理完毕通知监听者
  • EventLoop & EventLoopGroup
    •  
  • ChannelHandler
    • 主要用于处理各种事件
  • ChannelPipeline
    • 主要是ChannelHandler链,事件进入ChannelPipeline流经里边的ChannelHandler,自己能处理的处理处理不了的往下传,类似于职责链模式

相关文章:

  • 2022-12-23
  • 2022-12-23
  • 2021-04-09
  • 2022-12-23
  • 2022-12-23
  • 2022-02-05
  • 2021-11-22
  • 2021-08-17
猜你喜欢
  • 2022-12-23
  • 2022-12-23
  • 2022-12-23
  • 2021-11-25
  • 2021-11-02
  • 2021-08-06
相关资源
相似解决方案