• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

nginx应用:使用nginx进行负载均衡

php 搞代码 4年前 (2022-01-22) 21次浏览 已收录 0个评论

这篇文章主要介绍了关于nginx应用:使用nginx进行负载均衡,有着一定的参考价值,现在分享给大家,有需要的朋友可以参考一下

nginx一般可以用于七层的负载均衡,这篇文章将介绍一些负载均衡的基本知识以及使用nginx进行负载均衡的简单的例子。

四层负载均衡 vs 七层负载均衡

经常会说七层负载均衡还是四层负载均衡,其实根据ISO的OSI网络模型的所在层的叫法而决定的,nginx因为在使用http协议在应用层进行负载均衡的操作,所以被称为七层负载均衡。而诸如LVS在TCP层进行负载均衡操作的则被称为四层负载均衡。一般来说,有如下层的负载均衡分类:

类别OSI模型层说明
二层负载均衡MAC层根据MAC地址进行响应
三层负载均衡IP层根据IP地址进行响应
四层负载均衡TCP层在IP地址的基础上结合端口号进行响应
七层负载均衡HTTP层在四层的基础上,可继续根据URL/浏览器类别等七层的信息进行进一步的响应

常见软件的支持

软件四层负载均衡七层负载均衡
nginx轻量实现支持http和mail,性能与haproxy相近
haproxy支持七层负载均衡
LVS支持四层负载均衡,实现较重
F5硬件实现,成本高

常见的负载均衡算法

负载均衡常见有如下几种算法:

负载均衡算法负载均衡算法(E)nginx支持与否说明适用场景
普通轮询Round Robin支持权重相同的轮询适用于外部服务请求和内部服务器都相对均衡的场景
权重轮询Weighted Round Robin支持(weight)可以设定不同权重进行轮询服务器的处理能力不同,或则希望进行流量的控制,比如Canary Release
随机均衡Random随机分配给服务器外部和内部均非常均衡的场合,或者需要随机的分配的需求较强
权重随机Weighted Random结合权重随机分配给服务器可结合权重调节随机策略,更好地适应现实中分布状况
响应速度Response Time支持(fair)根据服务器的响应速度进行分配服务器性能和服务器当前运行状况的结合,此种策略能动态的调整状态,避免能者已经不能的情况下仍然被大量分配作业
最少连接Least Connection根据连接的数量进行分配轮询做的是分配任务,由于实际情况中来&源gao@dai!ma.com搞$代^码%网搞gaodaima代码无法控制轮训分配的任务,但是无法确认任务完成的速度,会导致反映真实服务器负荷的连接数产生不同,适合于长时间提供长连接服务的业务,比如网上的客服的WebSocket的实现,或者FTP/SFTP等服务。
DNS响应Flash DNS根据最快返回的DNS解析结果来继续请求服务,忽略其他DNS返回的IP地址适用于具有全局负载均衡的情况下,比如CDN

负载均衡演示实例:普通轮询


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:nginx应用:使用nginx进行负载均衡
喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址