Netty解析-架构模块讲解

学习思路

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

一、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缓冲对象)

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

主要模块依赖关系图

项目结构:

解释:

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,自己能处理的处理处理不了的往下传,类似于职责链模式

公众号主要记录各种源码、面试题、微服务技术栈,帮忙关注一波,非常感谢

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值