学习第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%保证)
注:内容参考极客时间相关课程