标签

Netty

Netty:Pipeline 消息传播、Handler 选型与 Reactor 模型易错点解析
Netty 的网络通信涉及多个层次:IO 多路复用负责监听就绪事件,Reactor 负责组织事件分发,Pipeline 负责事件传播,Handler 负责具体业务处理,Future 则用于表示异步操作的执行结果。 如果混淆这些概念,就容易在消息编码、引用计数、线程中断和资源关闭等方面出现错误理解。
2026-11-01
|
8
|
0
|
0
Netty:核心原理串联与综合场景分析
一、Netty 服务端的整体工作流程 典型 TCP 服务端从客户端连接到消息响应,大致经历: 客户端发起 TCP 连接 │ ▼ Boss EventLoopGroup 接收连接 │ ▼ Worker EventLoopGroup 管理客
2026-11-01
|
6
|
0
|
0
Netty:TCP_NODELAY、Nagle 算法与服务端连接管理
一、Nagle 算法与 TCP_NODELAY 1. Nagle 算法解决什么问题? TCP 是字节流协议。应用程序可能频繁写入很少的数据,例如每次只写入几个字节。如果每次小数据写入都立即形成独立 TCP 数据段,可能产生大量小数据段,增加网络协议头开销。 Nagle 算法的目标是减少小 TCP 数
2026-11-01
|
2
|
0
|
0
Netty:EventLoop 线程隔离、业务线程池与背压控制
一、为什么 EventLoop 不能执行耗时任务? Netty 使用 Reactor 线程模型处理网络事件。一个 EventLoop 通常会负责多个 Channel,并在自己的线程中处理这些 Channel 的 IO 事件和 Pipeline 事件。 例如: EventLoop-1 ├── Ch
2026-11-01
|
7
|
0
|
0
Netty:IdleStateHandler 三种空闲事件与使用场景
一、IdleStateHandler 与三种空闲事件 IdleStateHandler 是 Netty 内置的空闲检测 Handler,继承自 ChannelDuplexHandler,因此既能观察入站读活动,也能观察出站写活动。开发时直接创建实例并添加到 Pipeline,不需要自己重新实现它。
2026-10-31
|
7
|
0
|
0
Netty:自定义 TCP 通信协议设计与编解码实现
一、为什么需要自定义 TCP 协议? TCP 是面向字节流的协议,不保留应用层消息边界。客户端和服务端需要约定统一的消息格式,才能正确识别和解析数据。 自定义协议主要解决: 1. 如何判断一条消息从哪里开始、在哪里结束。 2. 如何区分登录、心跳、业务数据等消息类型。 3. 如何识别协议版本。 4.
2026-10-31
|
7
|
0
|
0
Netty:ByteToMessageDecoder 与编解码 Pipeline
一、ByteToMessageDecoder 是什么? ByteToMessageDecoder 不是接口,而是抽象类,继承自 ChannelInboundHandlerAdapter,属于入站 Handler。 它提供字节累积、循环解码等通用能力。开发者可以继承它实现自己的协议解码器,也可以使用
2026-10-31
|
6
|
0
|
0