nginx负载均衡算法
- 轮询(默认)
- 每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。
- weight
指定轮询几率,weight和访问比率成正比,用于后端服务器性能不均的情况。
redis配置多服务器,中也有这玩意。
- ip_hash
每个请求按访问ip的hash结果分配,这样每个访客固定访问一个后端服务器,可以解决session的问题。
- fair(第三方)
按后端服务器的响应时间来分配请求,响应时间短的优先分配。
- url_hash(第三方)
根据url的hash结果分配
Nginx的 反向代理和正向代理怎么理解?
正向代理:
局域网中的电脑用户想要直接访问网络是不可行的,只能通过代理服务器来访问,这种代理服务就被称为正向代理
正向代理,是在用户端的。比如需要访问某些国外网站,我们可能需要购买v–p–n。
并且v–p–n是在我们的用户浏览器端设置的(并不是在远端的服务器设置)。
浏览器先访问v–p–n地址,v–p–n 地址转发请求,并最后将请求结果原路返回来。
反向代理
有正向代理,就有反向代理。(哈哈,因为起名字的人也会考虑,为什么不叫代理,而是取名”正向”代理)。
反向代理是作用在服务器端的,是一个虚拟ip(VIP)。对于用户的一个请求,会转发到多个后端处理器中的一台来处理该具体请求。
大型网站都有DNS(域名解析服务器),load balance(负载均衡器)等。
客户端无法感知代理,因为客户端访问网络不需要配置,只要把请求发送到反向代理服务器,由反向代理服务器去选择目标服务器获取数据,然后再返回到客户端,此时反向代理服务器和目标服务器对外就是一个服务器,暴露的是代理服务器地址,隐藏了真实服务器IP地址
总结,nginx作为软件能支持反向代理,也就是说nginx可以作为负载均衡器。
(负载均衡器可以提高网站性能,支持更高并发请求)
参考: www.cnblogs.com/xudong-bupt/p/8661...