原创

Netty架构设计及学习资料

全网最全 Java 知识点整合总目录入口猛戳-->www.gameboys.cn

Netty 全网最全示例源码地址猛戳-->https://github.com/Sniper2016/NettyStudy

Netty架构设计

以下内容来自《Netty 权威指南》

整体采用三层网络架构进行设计开发,实现了 NIO 架构各层之间的解耦,便于上层协议栈的开发与逻辑的定制;Reactor 层作为通信调度,PipeLine 层拦截监听事件,Service ChannelHandler 用于扩展与业务逻辑的编排,下面详细介绍各层职责 netty逻辑架构图

Reactor 通信调度

主要负责网络的连接以及读写操作,将网络层的数据读取到内存缓存区中,然后触发各种网络事件,例如:连接创建、连接激活、读写事件等,同时将事件回调到 Pipeline 中,由 PipeLine 做后续处理

PipeLine 职责链

复制事件在职责链中的有序传播,同时负责动动态的编排,选择监听和处理自己感兴趣的事件,可以拦截处理与向前\后传播事件,通常不同 Handler 节点功能不同,例如编解码 Handler,负责消息协议转化,这样上层只需要关心业务逻辑,不需要感知底层的协议、线程模型的差异,实现了架构的分层隔离

Service Handler 业务处理

可以分为俩类,一类是纯粹的业务逻辑处理,另一类就是其他应用层的协议插件,用于特定协议相关的会话和链路管理

学习资料

官网:

https://netty.io/index.html

官方指南

https://netty.io/wiki/user-guide-for-4.x.html

netty 牛逼博客

https://www.cnblogs.com/crazymakercircle/p/9904544.html

“Scalable IO in Java”的地址是

http://gee.cs.oswego.edu/dl/cpjslides/nio.pdf

reactor-siemens 地址

http://www.dre.vanderbilt.edu/~schmidt/PDF/reactor-siemens.pdf

正文到此结束