雅荷心语博客
雅荷心语
心之所向便是光
  • 首页
  • 前端之旅
  • 后端之路
  • 软件工具
  • 心灵鸡汤
  • 心路历程
  • 视频资料
  • 关于我们
    • 关于我
    • 关于我
  • 微信平台
    • 业务合作
  • 首页
  • 前端之旅
  • 后端之路
  • 软件工具
  • 心灵鸡汤
  • 心路历程
  • 视频资料
  • 关于我们
    • 关于我
    • 关于我
  • 微信平台
    • 业务合作
  • 关注本站
    • 微信
    • 微博
    • 腾讯微博
    • Twitter
    • Facebook
    • RSS订阅
Hi, 请登录     我要注册     找回密码

nginx 负载均衡初了解

2022-12-22 分类:后端之路 阅读(128) 评论(0)

1、Nginx负载均衡的原理是什么?

客户端向反向代理发送请求,接着反向代理根据某种负载机制转发请求至目标服务器(这些服务器都运行着相同的应用),并把获得的内容返回给客户端,期中,代理请求可能根据配置被发往不同的服务器。

2、Nginx负载均衡的作用是什么?

负载均衡:分摊到多个操作单元上进行执行,和它的英文名称很匹配。就是我们需要一个调度者,保证所有后端服务器都将性能充分发挥,从而保持服务器集群的整体性能最优,这就是负载均衡。

3、Nginx负载均衡算法有哪些?

源地址哈希法:根据获取客户端的IP地址,通过哈希函数计算得到一个数值,用该数值对服务器列表的大小进行取模运算,得到的结果便是客服端要访问服务器的序号。采用源地址哈希法进行负载均衡,同一IP地址的客户端,当后端服务器列表不变时,它每次都会映射到同一台后端服务器进行访问。
轮询法:将请求按顺序轮流地分配到后端服务器上,它均衡地对待后端的每一台服务器,而不关心服务器实际的连接数和当前的系统负载。
随机法:通过系统的随机算法,根据后端服务器的列表大小值来随机选取其中的一台服务器进行访问。
加权轮询法:不同的后端服务器可能机器的配置和当前系统的负载并不相同,因此它们的抗压能力也不相同。给配置高、负载低的机器配置更高的权重,让其处理更多的请;而配置低、负载高的机器,给其分配较低的权重,降低其系统负载,加权轮询能很好地处理这一问题,并将请求顺序且按照权重分配到后端。
加权随机法:与加权轮询法一样,加权随机法也根据后端机器的配置,系统的负载分配不同的权重。不同的是,它是按照权重随机请求后端服务器,而非顺序。
最小连接数法:由于后端服务器的配置不尽相同,对于请求的处理有快有慢,最小连接数法根据后端服务器当前的连接情况,动态地选取其中当前积压连接数最少的一台服务器来处理当前的请求,尽可能地提高后端服务的利用效率,将负责合理地分流到每一台服务器。

Nginx负载均衡的作用

转发功能:Nginx 会按照一定的算法轮询、权重将客户端发来的请求转发至不同的应用服务器上,同时减轻单台服务器的压力,提高服务器的并发量;

故障迁移:当一台服务器出现了故障时,客户端发来的请求将自动发送到其他服务器;

添加恢复:当故障服务器恢复正常工作时,将自动添加到处理用户请求中;

Nginx负载均衡的几种策略方式

1)轮询(默认)

客户端发出的每个请求将按照时间顺序逐一分配到不同的后端服务器,如后端服务器down掉,能自动剔除。

1
2
3
4
upstream backserver {
    server 192.168.1.10;
    server 192.168.1.11;
}

2)weight

weight 代表权重,默认为1,权重越高被分配的客户端也就越多。

指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况,也就是说:哪个 server 的连接数少,路由就到哪个 server 中去。

1
2
3
4
upstream backserver {
    server 192.168.1.10 weight=3;
    server 192.168.1.11 weight=7;
}

3)ip_hash(推荐)

每个请求按访问 IP 的hash结果分配,每个访客固定访问一个后端服务器,可解决session的问题。

1
2
3
4
5
upstream backserver {
    ip_hash;
    server 192.168.1.10:80;
    server 192.168.1.11:88;
}

4)fair(第三方)

按后端服务器的响应时间来分配请求,响应时间短的优先分配。

1
2
3
4
5
upstream backserver {
    server server1;
    server server2;
    fair;
}

url_hash(第三方)

按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器,后端服务器为缓存时比较有效。

1
2
3
4
5
6
upstream backserver {
    server squid1:3128;
    server squid2:3128;
    hash $request_uri;
    hash_method crc32;
 }

 

喜欢 (1) 赏 讨厌 (0)
分享到:更多 ()

相关推荐

  • 关于代码自动更新的一次实验
  • 关于 mysql 怎么安装审计插件的记录
  • 自用phpstorm破解补丁
  • 三种微信小程序VR实现方法
  • 使用ffmpeg.wasm在前端html网页上压缩视频解决方案
  • 要SSR? NUXT项目从初始化到部署服务器流程全记录
  • 制作抖音照片会唱歌-吗咿呀嘿, 除了使用Avatarify,现在官方也出滤镜支持了
  • 安卓抖音吗咿呀嘿特效怎么做?摇头视频制作软件介绍~

评论 抢沙发

取消

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址
关于我

小天明 北京·朝阳 前端搬砖工程师

碎碎念):(来自公众号)

热门文章

  • 踩坑记录——iphone上safari开启隐身模式时localStorage变为只读-雅荷心语博客踩坑记录——iphone上safari开启隐身模式时localStorage变为只读2017-02-21评论(4)
  • 程序员是怎样一群人-雅荷心语博客程序员是怎样一群人2015-12-08评论(3)
  • vcard - 二维码名片的格式及扫码导入-雅荷心语博客vcard – 二维码名片的格式及扫码导入2016-05-05评论(2)
  • PHPStorm10 下载安装破解汉化-雅荷心语博客PHPStorm10 下载安装破解汉化2015-12-15评论(2)
  • call_user_func_array 这个函数什么时候用-雅荷心语博客call_user_func_array 这个函数什么时候用2016-09-02评论(2)
2023年3月
一 二 三 四 五 六 日
« 一    
 12345
6789101112
13141516171819
20212223242526
2728293031  

最新评论

  • 前端小武 6年前 (2017-04-06)说:
    我看到了layer
  • 丁艳平 6年前 (2017-03-03)说:
  • Dawn 7年前 (2016-09-16)说:
    call_user_func_array最后的例子是错哦,你用bc方法去调用类里 另外一个方法就知道问题所在了。情况1.调用非静态方法 第一个参数应该传[类的实例,调用方法] (既然有类实例了直接-&
  • Dawn 7年前 (2016-06-21)说:
    tp框架设置了全局捕获异常的,这也没什么。坑的是 他捕获了异常。然后全部返回404。。。不知道的 还以为自己网站被删除了
  • Dawn 7年前 (2016-05-17)说:
    构造函数里的判断 用异常机制可能更好一些

左邻右舍

  • Brian's Blog
  • 易水寒
  • 楼教主
  • 贤心
  • 阿米龙

雅荷心语博客 -心之所向便是光

联系我们关于我们

© 2023 雅荷心语博客   网站地图

emlogdux_heademlogdux_footer