nginx可以根据客户端IP进行负载均衡,在upstream里设置ip_hash,就可以针对同一个C类地址段中的客户端选择同一个后端服务器,除非那个后端服务器宕了才会换一个。

nginx的upstream目前支持的5种方式的分配

1、轮询(默认)  
每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。 
upstream backserver { 
server 192.168.0.14; 
server 192.168.0.15; 
}

2、指定权重  
指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。 
upstream backserver { 
server 192.168.0.14 weight=10; 
server 192.168.0.15 weight=10; 
}

3、IP绑定 ip_hash  
每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。 
upstream backserver { 
ip_hash; 
server 192.168.0.14:88; 
server 192.168.0.15:80; 
}

4、fair(第三方)  
按后端服务器的响应时间来分配请求,响应时间短的优先分配。 
upstream backserver { 
server server1; 
server server2; 
fair; 
}

5、url_hash(第三方)  
按访问url的hash结果来分配请求,使每个url定向到同一个后端服务器,后端服务器为缓存时比较有效。 
upstream backserver { 
server squid1:3128; 
server squid2:3128; 
hash $request_uri; 
hash_method crc32; 
}

在需要使用负载均衡的server中增加

proxy_pass http://backserver/; 
upstream backserver{

ip_hash; 
server 127.0.0.1:9090 down; (down 表示单前的server暂时不参与负载) 
server 127.0.0.1:8080 weight=2; (weight 默认为1.weight越大,负载的权重就越大) 
server 127.0.0.1:6060; 
server 127.0.0.1:7070 backup; (其它所有的非backup机器down或者忙的时候,请求backup机器) 
}

max_fails :允许请求失败的次数默认为1.当超过最大次数时,返回proxy_next_upstream 模块定义的错误

fail_timeout:max_fails次失败后,暂停的时间

nginx负载均衡基于ip_hash的session粘帖相关推荐

  1. nginx负载均衡 加权轮询和ip_hash

    下面给大家总结了几种真正的nginx负载均衡的功能了,在此我们加了一个权重判断法就是根据nginx负载的状态实现分配访问用户到权重值少的机器了,具体配置如下. nginx为后端web服务器(apach ...

  2. Nginx负载均衡+tomcat+session共享

    为什么80%的码农都做不了架构师?>>>    本文,是笔者工作之余写的,第一是把之前打系统框架的步骤记录下来.第二是将这个过程,谈不上经验,奉献给正在撘这种框架遇到各种bug,各种 ...

  3. Nginx负载均衡的4种方式 :轮询-Round Robin 、Ip地址-ip_hash、最少连接-least_conn、加权-weight=n

    负载均衡的概念: Load Balance负载均衡是用于解决一台机器(一个进程)无法解决所有请求而产生的一种算法. 我们知道单台服务器的性能是有上限的,当流量很大时,就需要使用多台服务器来共同提供服务 ...

  4. nginx负载均衡session共享

    文章目录 一.可道云项目结合redis缓存部署 redis缓存可道云项目数据及会话,加快网站访问速度 二.Nginx负载均衡会话共享 1.1 什么是会话保持 1.2 为什么需要会话保持 1.3 Coo ...

  5. 全力升级篇-基于Mongodb与Nginx负载均衡打造共享单车项目实战 最新完整项目升级版

    全力升级篇-基于Mongodb与Nginx负载均衡打造共享单车项目实战 最新完整项目升级版 课程作为全新的升级项目课程,基于Nginx负载均衡,Flume与Kafka,Mongodb和Redis等技术 ...

  6. 基于nginx负载均衡的慢性病专家系统

    摘要 随着互联网技术和国内医疗行业持续高速地发展,管理员为了能够更加方便地管理用户预约挂号和医生诊疗,慢性病专家系统被开发出来的目的是为了能够更加方便管理用户预约挂号和医生诊疗,一个良好的慢性病专家系 ...

  7. Nginx负载均衡配置策略

    转自:http://www.freeoa.net/osuport/cluster/nginx-load-equilibrium-configuration-strategy_1652.html Ngi ...

  8. 前端技术分享:Nginx负载均衡视频,基础的实战应用

    Nginx是一款轻量级的Web 服务器/反向代理服务器及电子邮件(IMAP/POP3)代理服务器,并在一个BSD-like协议下发行.其特点是占有内存少,并发处理能力强,以高性能低资源消耗而闻名,国内 ...

  9. 一文带你了解SLB、F5、Nginx负载均衡

    前言: 负载均衡(Load Balance),其含义就是指将负载(工作任务)进行平衡.分发到多个操作单元上进行运行,负载均衡构建在原有网络结构之上,它提供了一种透明且廉价有效的方法扩展服务器和网络设备 ...

最新文章

  1. 基于数据挖掘的旅游推荐APP(四):“我的”模块
  2. 撰写实施方案注意事项
  3. win7下更改为achi硬盘模式
  4. 2020直播电商研究报告
  5. 信息学奥赛一本通 1225:金银岛 | OpenJudge NOI 4.6 1797:金银岛
  6. comptia a+_我如何通过CompTIA Linux +考试
  7. windows服务器远程执行命令(PowerShell+WinRM)
  8. Taobao File System
  9. caffe-yolov3:编译安装报错:fatal error: caffe/caffe.hpp: No such file or directory
  10. java 利用Future异步获取多线程任务结果
  11. 大龄单身,这些人真作。
  12. 手机号码归属地批量查询功能
  13. plupload文件上传插件
  14. 都说发展存储产业一定要走IDM模式,你怎么看?
  15. 竟然有这种榜单,程序员真的是又有爱又无聊
  16. 刨根究底字符编码之零——前言
  17. [C#] [GIS] 关于椭球七参数和高斯投影正反算的一些总结
  18. 【网络爬虫与信息提取】信息的组织与提取
  19. Win11如何开启移动热点?Win11开启移动热点的方法
  20. python使用keyboard库写的GUI键盘宏

热门文章

  1. docker查询mysql 有哪些版本的镜像_运维有话说 | Mysql容器化主主从架构搭建
  2. android初步ui线程案例,android – 它是一个bug还是一个功能?在某些情况下,可以从未在UI线程上运行的任务访问UI线程...
  3. Qt拖放 drag and drop
  4. [HTB]“Heist”靶机渗透详细思路
  5. python制作简单K线图
  6. 【Linux 线程】常用线程函数复习《三》
  7. 在CentOS上搭建PHP服务器环境(可用)
  8. MYSQL 的静态表和动态表的区别, MYISAM 和 INNODB 的区别
  9. 关于事件委托的整理 ,另附bind,live,delegate,on区别
  10. 背景色透明,里面内容(图片、文字)不透明