您的位置:首页 > 运维架构 > Nginx

nginx学习笔记(一)

2016-07-09 23:12 573 查看
ip_hash 仅仅使用ip地址的hash值来分配后端服务器,但是当客户端在代理环境下或者局域网内使用NAT上网时,ip_hash就不能实现真正的负载均衡。

sticky模块能够从session会话和cookie层面上,给客户端一个唯一的标识来实现负载均衡。

如果客户端不支持cookie,则sticky模块不能使用,自动切换到RR(Round Robin)模式。

sticky 和 ip_hash 不能同时出现在一个upstream里面。

upstream 的几种模式:

(1)rr 轮询(默认)

按照请求顺序分配到每个 RS,如果 RS 宕机,会自动剔除,

健康检查,当HTTP返回码200+,则认为该RS是正常工作的。

(2)weight(权重)

在 rr 的基础上再加上权重(默认是 rr+weight),权重轮询和访问成正比,值越大

分配的越多,可以根据服务器的配置设置权重,可以解决服务器性能不均进行请求分配的问



(3)ip_hash

解决动态网页 session 共享问题

每个访问请求按照 IP 地址的 hash 值进行分配,ip 的 hash 值只要相同就会被分配

到同一台服务器上

该调度算法可以解决动态网页 session 共享问题,但有时会导致请求分配不均,

代理和 nat 模式下, hash 不适合使用

ip_hash 不能和其他的算法一块使用,即不能使 weight 或 backup

(4)fair(第三方)

按照后端服务器的响应时间来配置,响应时间短的优先分配

此种算法可以按照页面大小和加载时间长短智能的进行负载均衡,nginx 本身不支持 fair,

需要下载 nginx 的 nginx-stream-fair 模块

(5)url_hash(第三方)

主要应用于缓存服务器上

按照访问的 url 来分配请求,让相同的 url 定向到同一台服务器
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签:  nginx