lb的keepalive问题

0. keepalive

大家都很清楚他的用意了,就是为了减少3次握手,设置一个timeout,比如说20s ,在20s内不请求,连接还是保持着,这时候请求过来,不需要重新经过tcp的三次握手,如果超过了就会断掉,重连的话就要3次握手。

一个正常的keepalive回复头有2个参数:

  1. timeout
  2. max
HTTP/1.1 200 OK
Connection: Keep-Alive
Content-Encoding: gzip
Content-Type: text/html; charset=utf-8
Date: Thu, 11 Aug 2016 15:23:13 GMT
Keep-Alive: timeout=5, max=1000
Last-Modified: Mon, 25 Jul 2016 04:32:39 GMT
Server: Apache

(body)

1. 云厂商的7层负载均衡设置

这里举国内厂商为例,

  1. 阿里云,默认keepalive_timeout 15s ,无法关闭。
  2. 华为云,默认keepalive_timeout 300s,无法关闭。

那么很显然华为云的值有点过大了。

2. keepalive 超时过大造成的影响

就是用户端会长时间停留在该lb上面,如果你只有1个lb,一个机房,那其实没啥影响,但是如果你有多机房部署,会造成用户到不了其他地方的问题。

猜你喜欢

转载自www.cnblogs.com/gqdw/p/11563086.html
lb
今日推荐