nginx学习
Posted 奔跑de孩子
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了nginx学习相关的知识,希望对你有一定的参考价值。
负载均衡的两种方法: 1.将单一的重负载分担到多个网络节点上做并行处理,每个节点处理结束后将结果汇总返回给用户,这样可以大幅提高网络系统的处理能力 2.将大量的前端并发访问或者数据流量 分担到多个后端网络节点上分别处理,这样可以有效的减少前端用户等待响应的时间 nginx负载均衡策略两大类: 1.内置策略(轮询、加权轮询、IP hash) 在默认情况下内置策略会被编译进Nginx内核、使用时只需要在Nginx服务器配置中设置相关参数即可 轮询:轮询策略就是将每个前段请求按顺序(时间顺序、排列顺序)逐一分配到不通的后端节点上、对于出现问题的节点自动剔除。 加权轮询:顾名思义、就是在基础的轮询策略上考虑各后端节点接受请求的权重、指定后端节点性能的实际情况。加权轮询策略主要用于后端节点性能不均的情况 根据后端节点性能的实际情况、我们可在Nginx服务器的配置文件中调整权重、使得真个网络对前端请求达到最佳的相应能力。 IP hash: 是将前端的访问IP进行hash操作、然后根据hash结果将请求分配给不同的后端节点、实际上这种策略也是一种特殊的轮询策略、通过Nginx实现、 每个前端访问IP会固定访问一个后端节点。 这样做的好处是避免考虑前端用户的session在后端多个节点上共享的问题。 2.扩展策略(url hash、fair) 扩展策略不会编译进Nginx内核、需要手动将第三方模块编译到Nginx内核。 url hash: 形式上和IP hash 相近、 不同之处在于、IP hash策略 是对前端访问IP进行了hash操作、 而url hash策略 是对前端请求的url进行了hash操作。 url hash策略的优点在于、 如果后端有缓存服务器、它能够提高缓存效率、同事也解决了 seesion 的问题;但其缺点是、如果后端节点出现异常 它不能自动排除该节点。 在使用过程用发现、后端节点出现异常会导致Nginx服务器返回503错误 fair模块: fair则是通过从另一个角度来实现Nginx服务器负载均衡策略的。 该模块将前端请求转发到一个最近负载醉的后台节点。 那么,负载最小怎么判断那? Nginx通过后端节点对请求的响应时间判断负载情况。响应时间短的节点负载相对就轻。得出判断后,Nginx 就将前端请求转发到选中的负载最轻的节点上。 Nginx服务器web缓存服务: 1.Proxy_Cache Proxy_Cache 主要用在Nginx服务器提供反向代理,对后端源服务器的返回内容进行URL缓存 2.FastCGI_Cache FastCGI_Cache 主要用于对 FastCGI 的动态程序进行缓存 3.第三方模块 ngx_cache_purge 也是Nginx服务器web缓存功能中常用的、它主要用于清楚Nginx服务器上指定的URL缓存 Nginx和Squid对比 Nginx服务器对多核CPU的调度比Squid更胜一筹、而在负载均衡、反向代理等其他方面 Nginx也不逊于Squid。 这使得Nginx服务器可以同时作为负载均衡服务器和web缓存服务器来使用,基本可以代替Squid。
以上是关于nginx学习的主要内容,如果未能解决你的问题,请参考以下文章