前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Nginx学习之负载均衡

Nginx学习之负载均衡

作者头像
小柒2012
发布2018-04-16 15:14:08
8200
发布2018-04-16 15:14:08
举报
文章被收录于专栏:IT笔记IT笔记

负载均衡

负载均衡 建立在现有网络结构之上,它提供了一种廉价有效透明的方法扩展网络设备和服务器的带宽、增加吞吐量、加强网络数据处理能力、提高网络的灵活性和可用性。

负载均衡,英文名称为Load Balance,其意思就是分摊到多个操作单元上进行执行,例如Web服务器、FTP服务器、企业关键应用服务器和其它关键任务服务器等,从而共同完成工作任务。

架构图

Nginx负载均衡.png
Nginx负载均衡.png

Nginx负载均衡.png

负载均衡策略

Nginx 提供轮询(round robin)、IP 哈希(client IP)和加权轮询 3 种方式,默认情况下,Nginx 采用的是轮询。

轮询(默认)

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

代码语言:javascript
复制
upstream backserver { 
server 192.168.1.14; 
server 192.168.1.15; 
} 

加权轮询

指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。

代码语言:javascript
复制
upstream backserver { 
server 192.168.1.14 weight=1; 
server 192.168.1.15 weight=2; 
} 

ip_hash

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

代码语言:javascript
复制
upstream backserver { 
ip_hash; 
server 192.168.0.14; 
server 192.168.0.15; 
} 

重试策略

可以为每个 backserver 指定最大的重试次数,和重试时间间隔,所使用的关键字是 max_fails 和 fail_timeout。

代码语言:javascript
复制
upstream backserver { 
server 192.168.1.14  weight=1  max_fails=2 fail_timeout=30s; 
server 192.168.1.15  weight=2  max_fails=2 fail_timeout=30s;
} 

失败重试次数为3,且超时时间为30秒。

热机策略

代码语言:javascript
复制
upstream backserver { 
server 192.168.1.14  weight=1  max_fails=2 fail_timeout=30s; 
server 192.168.1.15  weight=2  max_fails=2 fail_timeout=30s;

server 192.168.1.16 backup;
}

当所有的非备机(non-backup)都宕机(down)或者繁忙(busy)的时候,就会使用由 backup 标注的备机。必须要注意的是,backup 不能和 ip_hash 关键字一起使用。

本文参与 腾讯云自媒体分享计划,分享自作者个人站点/博客。
原始发表:2017-04-07,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 负载均衡
  • 架构图
  • 负载均衡策略
    • 轮询(默认)
      • 加权轮询
        • ip_hash
        • 重试策略
          • 热机策略
          相关产品与服务
          负载均衡
          负载均衡(Cloud Load Balancer,CLB)提供安全快捷的流量分发服务,访问流量经由 CLB 可以自动分配到云中的多台后端服务器上,扩展系统的服务能力并消除单点故障。负载均衡支持亿级连接和千万级并发,可轻松应对大流量访问,满足业务需求。
          领券
          问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档