当前位置:   article > 正文

Nginx篇03-负载均衡简单配置和算法原理_nginx 负载均衡 权重算法的配比是怎么改变的

nginx 负载均衡 权重算法的配比是怎么改变的

nginx的负载均衡配置,包括http、tcp和udp负载均衡,以及Round robinLeast connectionsLeast time(Nginx Plus专属)、Generic hashRandomIP hash(HTTP模块专属)的原理分析。

1、http负载均衡

我们先来看一小段配置文件

upstream backend {
     
  server 10.0.0.1:80  weight=1;  
  server nginx.example.com:80  weight=2; 
}

server {
   
	location / {
   
		proxy_pass http://backend;
	}
}
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13

这是一个简单的使用upstream模块对http服务进行指定权重的负载均衡的配置文件,一般存放在nginx目录下的conf.d文件夹中。

server可以使用Unix socket、IP、DNS、FQDN等来进行服务器的指定,这里的Unix socket指的是POSIX操作系统中的组件,即用于进程间通信的那个Unix socket。也就是说如果做负载均衡的时候本机也作为server之一,使用scoket确实是可以有效提高速度的(对比DNS和IP等),因为都在同一个系统上,走进程间的通信比走网络通信要少了很多验证步骤和协议,通信的速度会更快。但是在实际业务中比较少使用这样的方式,一般都会直接使用IP方便定位主机和运维分析等。IP相比DNS和FQDN要少了一步域名解析的过程,理论上速度会快一些,但是DNS其实也可以做负载均衡,同时DNS和FQDN给了网络路由更多的控制权,实际怎么使用还要看具体的业务需求。

upstreamserver指令语法如下:

server address [parameters]
  • 1
  • 关键字server必选

  • address也必选,可以是主机名、域名、ip或unix socket,也可以指定端口号

  • parameters是可选参数,可以是如下参数:

    • down:表示当前server已停用
    • backup:表示当前server是备用服务器,只有其它非backup后端服务器都挂掉了或者很忙才会分配到请求
    • weight:表示当前server负载权重,权重越大被请求几率越大,默认是1
  • max_failsfail_timeout一般会关联使用,如果某台server在fail_timeout时间内出现了max_fails次连接失败,那么Nginx会认为其已经挂掉了,从而在fail_timeout时间内不再去请求它,fail_time

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/很楠不爱3/article/detail/648705
推荐阅读
相关标签
  

闽ICP备14008679号