File tree Expand file tree Collapse file tree 1 file changed +11
-12
lines changed Expand file tree Collapse file tree 1 file changed +11
-12
lines changed Original file line number Diff line number Diff line change @@ -166,23 +166,22 @@ nginx的以下功能模块的相关代码已经阅读,并对其源码及相关
166166
167167改造点及可疑问题:
168168===================================
169- 1. 和后端服务器通过检查套接字连接状态来判断后端服务器是否down机,如果失效则连接下一个服务器。这种存在缺陷,
170- 例如如果后端服务器直接拔掉网线或者后端服务器断电了,则检测套接字是判断不出来的,协议栈需要长时间过后才能判断出,
171- 如果关闭掉协议栈的keepalive可能永远检测不出,这时候nginx还是会把客户端请求发往后端服务器,如果发往后端服务
172- 器数据大小很大,可能需要多次write,这时候会由write timeout来判断出后端出现问题。但是如果发往后端数据长度小,
173- 则不会添加write定时器,而是通过写定时器超时来判断,这样不能立刻判断出后端异常,因为读写定时器默认都是60s,
174- 参考ngx_http_upstream_send_request
175- 2.[限流不准确分析](https://github.com/alibaba/tengine/issues/855)<br />
169+ 1 . 和后端服务器通过检查套接字连接状态来判断后端服务器是否down机,如果失效则连接下一个服务器。这种存在缺陷,例如如果后端服务器直接拔掉网线或者后端服务器断
170+ 电了,则检测套接字是判断不出来的,协议栈需要长时间过后才能判断出,如果关闭掉协议栈的keepalive可能永远检测不出,这时候nginx还是会把客户端请求发往后端服务器,
171+ 如果发往后端服务器数据大小很大,可能需要多次write,这时候会由write timeout来判断出后端出现问题。但是如果发往后端数据长度小,则不会添加write定时器,而是通过
172+ 写定时器超时来判断,这样不能立刻判断出后端异常,因为读写定时器默认都是60s,参考ngx_http_upstream_send_request,
173+
174+ 2.[ 限流不准确分析] ( https://github.com/alibaba/tengine/issues/855 ) <br />
176175
177176
178- http2 quic学习参考:
179- ===================================
180- libquic goquic编译安装,源码分析注释:https://github.com/y123456yz/reading-and-annotate-quic
181- nghttp2相关参考:https://github.com/y123456yz/reading-and-annotate-nghttp2
177+ http2 quic学习参考:
178+ ===================================
179+ libquic goquic编译安装,源码分析注释:https://github.com/y123456yz/reading-and-annotate-quic
180+ nghttp2相关参考:https://github.com/y123456yz/reading-and-annotate-nghttp2
182181
183182
184183
185- 编译方法:
184+ 编译方法:
186185===================================
187186步骤1:这里根据需要编译自己的模块
188187cd nginx-1.9.2
You can’t perform that action at this time.
0 commit comments