ashx在web.config中如何配置_【阿里】在 nginx 中如何配置负载均衡

fb88a0c9431c592b2ba6c75b7b959eaa.png
堡垒山上的珀纳里城堡,法加拉斯山,罗马尼亚
(© porojnicu/Getty Images)

本题摘自于我 github 上的面试每日一题:https://github.com/shfshanyue/Daily-Question,并有大厂面经及内推信息,可「在左下角打开本题原文链接」

通过 proxy_passupstream 即可实现最为简单的负载均衡。如下配置会对流量均匀地导向 172.168.0.1172.168.0.2172.168.0.3 三个服务器

http {
upstream backend {
server 172.168.0.1;
server 172.168.0.2;
server 172.168.0.3;
}

server {
listen 80;
location / {
proxy_pass http://backend;
}
}
}

关于负载均衡的策略大致有以下四种种

  1. round_robin,轮询
  2. weighted_round_robin,加权轮询
  3. ip_hash
  4. least_conn

Round_Robin

轮询,nginx 默认的负载均衡策略就是轮询,假设负载三台服务器节点为 A、B、C,则每次流量的负载结果为 ABCABC

Weighted_Round_Robin

加权轮询,根据关键字 weight 配置权重,如下则平均没来四次请求,会有八次打在 A,会有一次打在 B,一次打在 C

upstream backend {
server 172.168.0.1 weight=8;
server 172.168.0.2 weight=1;
server 172.168.0.3 weight=1;
}

IP_hash

对每次的 IP 地址进行 Hash,进而选择合适的节点,如此,每次用户的流量请求将会打在固定的服务器上,利于缓存,也更利于 AB 测试等。

upstream backend {
server 172.168.0.1;
server 172.168.0.2;
server 172.168.0.3;
ip_hash;
}

Least Connection

选择连接数最少的服务器节点优先负载

upstream backend {
server 172.168.0.1;
server 172.168.0.2;
server 172.168.0.3;
least_conn;
}

说到最后,这些负载均衡策略对于应用开发者至关重要,而基础开发者更看重如何实现这些策略,如这四种负载算法如何实现?请参考以后的文章

更多面试

7d2d0b34bdee8d99843078936d17ca61.png
【字节-视频架构组-前端】头条架构组招人了内含自测题
8268fff5d84b3eb52fb5bfb410014eaf.png
【美团】什么是防抖和节流,他们的应用场景有哪些
31785475c983cb96281aa564a2c7680b.png
【美团】如何获取一个进程的内存并监控

关注我

我是山月,正致力于「每天用五分钟能够看完的简短答案回答一个大厂高频面试题」。扫码添加我的微信,备注进群,加入高级前端进阶群.

7d18e358edd9939b7baef2b8d2cd4a92.png
加我微信拉你进入面试交流群

欢迎关注公众号【互联网大厂招聘】,定时推送大厂内推信息及面试题简答,每天学习五分钟,半年进入大厂中

4aa2b52bbfe9b45c8f0777d2a2939a08.png
每天五分钟,半年大厂中
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值