很多人对 Netty 的认知停留在「一个高性能的 NIO 框架」这个层面,但真正在生产环境里扛过高并发、踩过内存泄漏和背压的坑之后,才会意识到:Netty 的性能不是靠某个单一 API 实现的,而是由线程模型、内存管理、流水线设计与背压机制这四个环节共同构成的一套工程体系。任何一环被忽视,都会在压测时以「线程打满」「直接内存 OOM」「消息堆积」的形式集中爆发。
本文不打算复述官方文档,而是从源码与线上事故出发,把这四块讲透:主从 Reactor 为什么这样拆、ChannelPipeline 的事件如何传播、ByteBuf 与零拷贝到底省掉了什么、高低水位如何实现背压。最后附上一份可直接落地的调优清单。
2023/10/21大约 12 分钟