nginx面试题-nginx负载均衡与正反向代理

Nginx/Web服务器
473
0
0
2022-09-20

nginx负载均衡算法

  1. 轮询(默认)
  2. 每个请求按时间顺序逐一分配到不同的后端服务器,如果后端服务器down掉,能自动剔除。
  3. weight

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

redis配置多服务器,中也有这玩意。

  1. ip_hash

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

  1. fair(第三方)

按后端服务器的响应时间来分配请求,响应时间短的优先分配。

  1. url_hash(第三方)

根据url的hash结果分配

Nginx的 反向代理和正向代理怎么理解?

正向代理:

局域网中的电脑用户想要直接访问网络是不可行的,只能通过代理服务器来访问,这种代理服务就被称为正向代理

nginx面试题-nginx负载均衡与正反向代理

正向代理,是在用户端的。比如需要访问某些国外网站,我们可能需要购买v–p–n。

并且v–p–n是在我们的用户浏览器端设置的(并不是在远端的服务器设置)。

浏览器先访问v–p–n地址,v–p–n 地址转发请求,并最后将请求结果原路返回来。

反向代理

有正向代理,就有反向代理。(哈哈,因为起名字的人也会考虑,为什么不叫代理,而是取名”正向”代理)。

反向代理是作用在服务器端的,是一个虚拟ip(VIP)。对于用户的一个请求,会转发到多个后端处理器中的一台来处理该具体请求。

大型网站都有DNS(域名解析服务器),load balance(负载均衡器)等。

nginx面试题-nginx负载均衡与正反向代理

客户端无法感知代理,因为客户端访问网络不需要配置,只要把请求发送到反向代理服务器,由反向代理服务器去选择目标服务器获取数据,然后再返回到客户端,此时反向代理服务器和目标服务器对外就是一个服务器,暴露的是代理服务器地址,隐藏了真实服务器IP地址

总结,nginx作为软件能支持反向代理,也就是说nginx可以作为负载均衡器。

(负载均衡器可以提高网站性能,支持更高并发请求)

参考: www.cnblogs.com/xudong-bupt/p/8661...