资料
netty处理器链初始化源码分析文章
netty处理器链读数据执行流程源码分析文章
LineBasedFrameDecoder解决粘包半包源码分析文章
netty粘包半包问题常见解决方案及总结文章
netty处理器链架构图及其总结文章
处理器作用
1.处理器作用是用来处理IO事件的
2.处理IO事件会遇到不同的问题,所以设计为了责任链的模式,有点分层的概念,多个处理器同时工作用于解决不同问题问题,粘包半包用一个处理器,然后将完整包给到下一个处理器,新的处理器用来解决反序列化处理业务的
3.责任链只是个单向链表的结构,由于用读写事件,顺序相反的操作,所以处理器链其实是双向的,底层设计为一个双向链表
4.图一是读事件的处理器流向详情,图二是读写事件的一个简图总览
读事件处理器链架构图
处理器链总架构图
总结
1.处理器链用于处理IO事件,使用了典型的责任链+策略模式,使得处理器链既可以横向扩展,也可以纵向扩展
2.横向扩展表现在一个处理器可以有不同实现,满足同一个功能的处理器。比如解码器
3.纵向扩展表现为处理器是可以无限增加,使得每个处理器有单一职责的设计原则,分层概念。比如 解码处理器和反序列化处理器的关系