Netty 简介

高性能

  1. 高并发用户
  2. 高吞吐量,单位事件内处理的业务,qps
  3. 低延迟
  4. 容量
    通过wrk和sb压测请求 img.png

稳定性建设(混沌工程):

  1. 容量
  2. 爆炸半径
  3. 工程方面积累与改进

IO模型演进

  1. Socket到NIO img.png

将每个请求分发给一个线程处理并等待返回==》创建一个selector管理接受到的请求

  1. 事件处理机制 img.png

将每个请求当作事件放入Event Queue中,后续通过Event Mediator分发事件给channel,并监听channel获取处理结果

  1. 事件处理机制到 Reactor模型 img.png

实现了事件机制和多路复用
eventDispatch 分发事件,ServiceHandle做io相关的操作

  1. Reactor 到 Netty NIO 单线程模式 img.png img.png
  2. Reactor 到 Netty NIO 非主从多线程模式 img.png img.png
  3. Reactor 到 Netty NIO 主从多线程模式 img.png img.png
  4. netty 的支持 img.png

netty 启动和处理流程

img.png

netty 线程模式

img.png

netty 关键对象

img.png

netty 运行原理

img.png

img.png img.png

网络程序优化

  1. 粘包和拆包
    img.png
  2. tcp协议 img.png

    Netty优化

    img.png