背景
在做dispatchsvr发送http请求到业务server的时候,client端设置了1s的timeout,结果当网络出现问题的时候,client出现了大量timeout,并且关闭连接,这时候发现client的cpu和内存有大量增长。
原理
TCP结束的过程如下:
Server Client
-------------- FIN --------------> server: fin_wait_1
<------------- ACK --------------- client: close_wait server:fin_wait_2
<------------- FIN --------------- client