加入收藏 | 设为首页 | 会员中心 | 我要投稿 西安站长网 (https://www.029zz.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 业界 > 正文

负载均衡与反向代理(Nginx/OpenResty)

发布时间:2019-09-19 06:28:29 所属栏目:业界 来源:今日头条
导读:副标题#e# 我们使用Nginx时,大多数场景下使用的都是七层的HTTP负载均衡(ngx_http_upstream_module)。在1.9.0版本以后,Nginx也开始支持TCP(ngx_stream_upstream_module)四层负载均衡。 四层/七层负载均衡的区别 四层负载均衡,就是基于IP+端口的负载均衡(T

HTTP心跳检查

  1. upstream backend { 
  2.  server 192.168.0.1:8080 weight=1; 
  3.  server 192.168.0.2:8080 weight=2; 
  4.  check interval=3000 rise=1 fall=3 timeout=2000 type=http; 
  5.  check_http_send "HEAD /status HTTP/1.0rnrn"; 
  6.  check_http_expect_alive http_2xx http_3xx; 

HTTP心跳配置比TCP额外多了2个配置:

  • check_http_send:健康检查时所发送的请求内容。
  • check_http_expect_alive:当上游服务器返回匹配的状态码,就认为上游服务器存活。

这里面需要注意的是,健康检查的时间间隔不宜过短。否则有可能会造成拥堵,更甚至造成上游服务器挂掉。

长连接配置

可以使用 keepalive 指令配置Nginx与上游服务器可缓存的空闲连接的最大数量。当超出数量时,最近最少使用的连接将被关闭。keepalive指令不限制Worker进程与上游服务器的总连接数。

  1. upstream backend { 
  2.  server 192.168.0.1:8080 weight=1; 
  3.  server 192.168.0.2:8080 weight=2 backup; 
  4.  keepalive 100; 

要想与上游服务器建立长连接,还需要如下配置:

  1. location / { 
  2.  # 支持 keep-alive 
  3.  proxy_http_version 1.1; 
  4.  proxy_set_header Connection ""; 
  5.  proxy_pass http://backend; 

总长连接数=空闲连接池+释放连接池。首先,长连接配置不会限制Worker进程可以打开的总连接数(超出的作为短连接)。连接池需要根据不同的场景进行设置。

空闲连接池太小,连接不够用,就需要不断的重新建立连接;如果太大,就会造成还没用就超时了。

其他配置

(编辑:西安站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

热点阅读