Nginx教程 4.Nginx负载均衡构建高可用的Web应用

nginx的负载均衡可以简单实现服务的双机热备,常用负载均衡算法有这几种:轮询、权重、hash等

准备工作

1.安装nginx。

2.两台一样的服务分别占用不同的端口,访问如下:

9001服务

9002服务

轮询

nginx默认负载均衡算法是轮询,需要添加upstream配置如下:

upstream  app {
	server    127.0.0.1:9001;
	server    127.0.0.1:9002;
}

server {
	listen       80;
	server_name  localhost;

	location / {
		proxy_pass http://app;
	}
}

多次访问 http://localhost 即可看到9001和9002交替访问。如果我们关闭9002服务的情况,那么就只会访问9001,相当于做了双机热备功能

权重

该场景可以根据两台服务器的性能来决定权重

upstream  app_weight {
	server    127.0.0.1:9001 weight=1;
	server    127.0.0.1:9002 weight=2;
}

server {
	listen       80;
	server_name  localhost;

	location / {
		proxy_pass http://app_weight;
	}
}

iphash

根据客户端ip取hash值来分配的服务器,该种方式可以避免前面两种导致的服务器session失效

upstream  app_iphash {
	ip_hash;
	server    127.0.0.1:9001;
	server    127.0.0.1:9002;
}

server {
	listen       80;
	server_name  localhost;

	location / {
		proxy_pass http://app_iphash;
	}
}

最少连接

分配到当前连接数最少的

upstream  app_leastconn {
	least_conn;
	server    127.0.0.1:9001;
	server    127.0.0.1:9002;
}

server {
	listen       80;
	server_name  localhost;

	location / {
		proxy_pass http://app_leastconn;
	}
}

fair

按照服务的响应时间优先分配

upstream  app_fair {
	server    127.0.0.1:9001;
	server    127.0.0.1:9002;
	fair;
}

server {
	listen       80;
	server_name  localhost;

	location / {
		proxy_pass http://app_fair;
	}
}

参考文档:https://www.jianshu.com/p/4c250c1cd6cd

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

terrybg

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值