netty处理器链架构图及其总结

本文深入剖析Netty处理器链的设计思想与实现原理,探讨其如何通过责任链模式解决IO事件中的粘包半包等问题,并介绍处理器链的双向链表结构及其在读写事件中的工作流程。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

资料

netty处理器链初始化源码分析文章
netty处理器链读数据执行流程源码分析文章
LineBasedFrameDecoder解决粘包半包源码分析文章
netty粘包半包问题常见解决方案及总结文章
netty处理器链架构图及其总结文章

处理器作用

1.处理器作用是用来处理IO事件的

2.处理IO事件会遇到不同的问题,所以设计为了责任链的模式,有点分层的概念,多个处理器同时工作用于解决不同问题问题,粘包半包用一个处理器,然后将完整包给到下一个处理器,新的处理器用来解决反序列化处理业务的

3.责任链只是个单向链表的结构,由于用读写事件,顺序相反的操作,所以处理器链其实是双向的,底层设计为一个双向链表

4.图一是读事件的处理器流向详情,图二是读写事件的一个简图总览

读事件处理器链架构图

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ILJn4hNM-1601053760726)(/Users/wuxinxin/Library/Application Support/typora-user-images/image-20200926004604421.png)]

处理器链总架构图

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ousJb3s5-1601053760730)(/Users/wuxinxin/Library/Application Support/typora-user-images/image-20200926010326283.png)]

总结

1.处理器链用于处理IO事件,使用了典型的责任链+策略模式,使得处理器链既可以横向扩展,也可以纵向扩展

2.横向扩展表现在一个处理器可以有不同实现,满足同一个功能的处理器。比如解码器

3.纵向扩展表现为处理器是可以无限增加,使得每个处理器有单一职责的设计原则,分层概念。比如 解码处理器和反序列化处理器的关系

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值