面试总结之Nginx

                                      面试总结之Nginx

一.正向代理

例子:

在如今的网络环境下,我们如果由于技术需要要去访问国外的某些网站,此时你会发现位于国外的某网站我们通过浏览器是没有办法访问的,此时大家可能都会用一个操作FQ进行访问,FQ的方式主要是找到一个可以访问国外网站的代理服务器,我们将请求发送给代理服务器,代理服务器去访问国外的网站,然后将访问到的数据传递给我们!

正向代理最大的特点是客户端非常明确要访问的服务器地址;服务器只清楚请求来自哪个代理服务器,而不清楚来自哪个具体的客户端;正向代理模式屏蔽或者隐藏了真实客户端信息

 

二.反向代理

面试总结之Nginx_第1张图片

          从图中,我们可以知道,对于浏览器来说,他会发一个http://www.a.com/uri请求到Nginx服务器,对于他来说,他认为数据就是从http://www.a.com/uri域中返回的,事实上,当http://www.a.com/uri到达Nginx服务器后,Nginx服务器会将其转发给http://www.b.com/uri,从http://www.b.com/uri域中取得数据并将其返回给浏览器,这个步骤浏览器是不知道的,也就是说,浏览器并不知道http://www.b.com/uri该域的存在,同理,http://www.b.com/uri所在的域(图中的Tomcat)也并不知道浏览器的存在,他也只对Nginx负责。Nginx的这么一个过程便称为反向代理。

 

三.负载均衡

 

 

 

 

 

 

四.Nginx服务器对session的处理策略

1.ip_hash策略:

ip_hash策略好不好,其实,这确实是一种简单粗暴但很高效的方式,不需要做过多的配置工作,不过不好之处在于其容错性差,一旦所绑定的Tomcat服务器或者其他后端服务器出现了故障,那么用户的所有session将面临丢失。不过这个也因应用而异吧,毕竟每台服务器会出现故障的情况概率也是很小的,如果应用能过允许这样的一种错误概率,其实ip_hash策略也是一个不错的选择。

2.session复制方案:

session复制方案,即只要某台服务器的session发生了改变,则他会向他所有其他的在服务器群上的服务器发出广播事件,让他们也把相应的session做出改变。已达到所有服务器群上的服务器的session保持一致的目的。优点,首先是具有容错性,另外就是不同服务器上保留着相同的session,用户如果发生切换服务器时session响应非常及时;但这样做也有一个致命的缺点,这个缺点是来自于服务器群间的网络广播事件,如果后端服务器群组比较多或者当session比较大时,网络广播会极大地消耗网络性能,甚至造成整个网络的瘫痪。

 

 

 

 

 

 

 

 

 

 

 

 

你可能感兴趣的:(面试)