Netty学习12- Netty断开连接和关闭服务过程剖析

本文深入探讨了Netty中断开连接的主流程,包括关闭连接的本质、关键点,如AbstractInterruptibleChannel#close和SelectionKey#cancel。同时阐述了Netty优雅关闭服务的策略,涉及DEFAULT_SHUTDOWN_QUIET_PERIOD和DEFAULT_SHUTDOWN_TIMEOUT,以及先关闭BOSS再关闭WORKER的顺序。

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

学习第27和28节

Netty断开连接过程主流程:
在这里插入图片描述
Netty关闭连接本质:
1 java.nio.channels.spi.AbstractInterruptibleChannel#close
2 java.nio.channels.SelectionKey#cancel

Netty关闭连接的关键点:
1 关闭连接,会触发 OP_READ 方法。读取字节数是 -1 代表关闭。
2 数据读取进行时,强行关闭,触发 IO Exception,进而执行关闭。
3 Channel 的关闭包含了 SelectionKey 的 cancel

Netty关闭服务的主流程:
在这里插入图片描述
Netty关闭服务的本质:
在这里插入图片描述
Netty关闭服务要点:

1 优雅(DEFAULT_SHUTDOWN_QUIET_PERIOD)
2 可控(DEFAULT_SHUTDOWN_TIMEOUT)
3 先不接活,后尽量干完手头的活(先关 boss 后关 worker:不是100%保证)

注:内容参考极客时间相关课程

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值