负载均衡调度算法

算法

调度算法		概述
轮询			按时间顺序逐一分配到不同的后端服务器(默认)
weight		加权轮询,weight值越大,分配到的访问几率越高
ip_hash		每个请求按访问IP的hash结果分配,这样来自同一IP的固定访问一个后端服务器
least_conn	将请求传递到活动连接数最少的服务器
weiget与ip_hast 不能同时使用。
ip_hash : 解决会话保持的问题,但会造成一个节点压力过大,其他节点没压力。

weight用法

upstream load_pass {
server 10.0.0.7:80 weight=5;
server 10.0.0.8:80;
}

ip_hast用法

upstream load_pass {
ip_hash;
server 10.0.0.7:80;
server 10.0.0.8:80;
}

Web服务器在负载均衡调度中的状态

状态				概述
down			当前的server暂时不参与负载均衡  相当于注释
backup			预留的备份服务器
max_fails		允许请求失败的次数
fail_timeout	经过max_fails失败后, 服务暂停时间
max_conns		限制最大的接收连接数

案例:
使用nginx负载均衡时,如何将后端请求超时的服务器流量平滑的切换到另一台上。如果后台服务连接超时,Nginx是本身是有机制的,如果出现一个节点down掉的时候,Nginx会更据你具体负载均衡的设置,将请求转移到其他的节点上,但是,如果后台服务连接没有down掉,但是返回错误异常码了如:504、502、500,应该如何处理?

可以在负载均衡添加如下配置proxy_next_upstream http_500 | http_502 | http_503 | http_504 |http_404;意思是,当其中一台返回错误码404,500...等错误时,可以分配到下一台服务器程序继续处理,提高平台访问成功率。
[root@lb01 ~]# cat /etc/nginx/conf.d/proxy_blog.yang.com.conf
upstream blog {
		server 172.16.1.7:80;
		server 172.16.1.8:80;
	}

server {
		listen 80;
		server_name blog.yang.com;

		 location / {
				proxy_pass http://blog;
				include proxy_params;
				proxy_next_upstream error timeout http_500 http_502 http_503 http_504;
		}
}
Nginx提供了多种负载均衡调度算法,可以根据实际需求选择适合的算法。以下是常见的Nginx负载均衡调度算法: 1. 轮询(Round Robin):默认的负载均衡算法,按照顺序将请求依次分配给后端服务器,循环往复。 2. 加权轮询(Weighted Round Robin):可以给每个后端服务器设置权重,权重越高的服务器获取到的请求数量就越多。 3. IP哈希(IP Hash):根据客户端的IP地址计算哈希值,将相同IP的请求发送到同一台后端服务器,实现会话保持。 4. 最少连接(Least Connections):将请求发送到当前连接数最少的后端服务器,以实现动态负载均衡。 5. 最快响应时间(Least Time):根据后端服务器的响应时间来选择目标服务器,将请求发送到响应时间最短的服务器上。 这些负载均衡算法可以通过在Nginx配置文件中的`upstream`块中设置`load balancing`指令来进行配置。例如: ```nginx http { upstream backend_servers { round-robin; # 使用轮询算法 server backend1.example.com; server backend2.example.com; } server { listen 80; location / { proxy_pass http://backend_servers; } } } ``` 在上述示例中,`round-robin`指令表示使用轮询算法进行负载均衡。你可以根据需要选择其他算法,并根据实际情况配置后端服务器的地址和权重等信息。 需要注意的是,Nginx负载均衡算法的选择应该根据具体的应用场景和需求来确定,以达到最佳的负载均衡效果。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值