一、产品介绍
负载均衡(Load Balancing)是一种在多个计算资源(如服务器、服务实例等)之间分配工作负载的技术,它通过将传入的请求分发到多个后端服务器上,从而提高系统的处理能力和可靠性,在实际应用中,负载均衡器可以确保高可用性、提升系统性能以及优化资源利用。
二、用户指南
1. 基本概念
连接超时时间(proxy_connect_timeout):指负载均衡器与后端服务器建立连接的等待时间,默认值为60秒。
读取超时时间(proxy_read_timeout):指负载均衡器等待后端服务器处理请求并返回响应的最大时间,默认值为60秒。
发送超时时间(proxy_send_timeout):指负载均衡器向客户端发送响应的最大时间,默认值为60秒。
2. 配置示例
http { upstream web { server 192.168.30.11:80 max_fails=1 fail_timeout=30; #设置失败1次,30秒内不再往这台设备转发 server 192.168.30.11:81 max_fails=1 fail_timeout=30; } server { listen 89; location / { proxy_connect_timeout 30s; proxy_read_timeout 30s; proxy_send_timeout 30s; proxy_next_upstream off; proxy_pass http://web; } } }
3. 高可用性实现对比
Haproxy:无论是否有请求,都会一直检测后端真实服务器的状态,有问题会将其移出。
Nginx:如果后端真实服务器挂掉,且proxy_next_upstream
关闭,则影响较大。
三、开发指南
1. 超时时间配置
连接空闲超时时间(keepalive_timeout):如果在超时时间内没有新的请求,负载均衡会暂时中断当前连接,直到下一次请求时重新建立新的连接,取值范围为10-4000秒,默认值为300秒(TCP协议)或60秒(HTTP/HTTPS/TERMINATED_HTTPS监听器)。
请求超时时间(client_timeout):客户端向负载均衡发起请求,一个请求多次发送时,传输时间间隔超过请求超时时间,则负载均衡将放弃等待并关闭连接,取值范围为1-300秒,默认值为60秒。
响应超时时间(member_timeout):负载均衡向后端服务器发起请求,如果超时时间内接收请求的后端服务器无响应或两次响应传输的时间间隔超过响应超时时间,负载均衡会向其他后端服务器重试请求,如果重试期间后端服务器一直没有响应,则负载均衡会给客户端返回HTTP 504错误码,取值范围为1-300秒,默认值为60秒。
2. 配置示例
apiVersion: v1 kind: Service metadata: annotations: kubernetes.io/elb.id: <your_elb_id> #本示例中使用已有的独享型ELB,请替换为您的独享型ELB ID kubernetes.io/elb.class: performance # ELB类型 kubernetes.io/elb.keepalive_timeout: '300' # 客户端连接空闲超时时间 name: nginx spec: ports: name: service0 port: 80 protocol: TCP targetPort: 80 selector: app: nginx type: LoadBalancer
四、约束与限制
该特性存在集群版本限制,仅在以下版本中生效v1.19集群(v1.19.16-r30及以上版本)、v1.21集群(v1.21.10-r10及以上版本)、v1.23集群(v1.23.8-r10及以上版本)、v1.25集群(v1.25.3-r10及以上版本)。
仅在使用独享型ELB时,负载均衡类型的服务支持设置超时时间,更新Service时,如果删除超时时间配置,不会修改已有监听器的超时时间配置。
五、表格说明
协议 | 类别 | 描述 | 取值范围 | 默认超时时间 |
TCP | 空闲超时时间 | 如果在超时时间内一直没有访问请求,负载均衡会关闭当前连接,直到下一次请求到来时再重新建立新的连接。 | 10~4000s | 300s |
UDP | 空闲超时时间 | 如果在超时时间内一直没有访问请求,负载均衡会关闭当前连接,直到下一次请求到来时再重新建立新的连接。 | 10~4000s | 共享型负载均衡:10s 独享型负载均衡:300s |
HTTP/HTTPS | 空闲超时时间 | 如果在超时时间内一直没有访问请求,负载均衡会关闭当前连接,直到下一次请求到来时再重新建立新的连接。 | 0~4000s | 60s |
HTTP/HTTPS | 请求超时时间 | 客户端向负载均衡发起请求,一个请求多次发送时,传输时间间隔超过请求超时时间,则负载均衡将放弃等待关闭连接。 | 1~300s | 60s |
HTTP/HTTPS | 响应超时时间 | 负载均衡向后端服务器发起请求,如果超时时间内接收请求的后端服务器无响应或两次响应传输的时间间隔超过响应超时时间,负载均衡会向其他后端服务器重试请求,如果重试期间后端服务器一直没有响应,则负载均衡会给客户端返回HTTP 504错误码。 | 1~300s | 60s |
负载均衡超时时间是确保系统稳定性和高效性的重要参数,了解其含义、配置方法以及在不同场景下的应用对于开发人员来说至关重要。
到此,以上就是小编对于“负载均衡超时时间文档介绍内容”的问题就介绍到这了,希望介绍的几点解答对大家有用,有任何问题和不懂的,欢迎各位朋友在评论区讨论,给我留言。
原创文章,作者:未希,如若转载,请注明出处:https://www.kdun.com/ask/1259771.html
本网站发布或转载的文章及图片均来自网络,其原创性以及文中表达的观点和判断不代表本网站。如有问题,请联系客服处理。
发表回复