实现网络服务器HTTP跳转达到三层交换机的详细步骤
本文摘要: · admin 当一台服务器的性能达到极限时,我们可使用网络服务器集群来提高网站的全面性能。那么在这个过程当中,调度者如何合理布置任务,保证所有后端网络服务器都将性能充分运用,从而保持网络服务器集群的全面性能最优,这就是实现网络服务器HTTP跳转达
 ·  admin 当一台服务器的性能达到极限时,我们可使用网络服务器集群来提高网站的全面性能。那么在这个过程当中,调度者如何合理布置任务,保证所有后端网络服务器都将性能充分运用,从而保持网络服务器集群的全面性能最优,这就是实现网络服务器HTTP跳转达到三层交换机。 1、当用户向网络服务器发起请求时,请求首先被集群调度者截获;调度者根据某种分配策略,选择一台网络服务器,并将选中的网络服务器的IP地址封装在HTTP响应消息头部的Location字段中,并将响应消息的状态码设为302,最后将这个响应消息返回给电脑浏览器。

2、当电脑浏览器收到响应消息后,解析Location字段,并向该URL发起请求,然后指定的网络服务器处理该用户的请求,最后将结果返回给用户。

3、在使用HTTP跳转来实现网络服务器集群三层交换机的过程当中,需要一台网络服务器作为请求调度者。用户的一项操作需要发起两次HTTP请求,一次向调度网络服务器发送请求,获取后端网络服务器的IP,第二次向后端网络服务器发送请求,获取事件处理。

4、调度网络服务器收到用户的请求后,究竟选择哪台后端网络服务器处理请求,这由调度网络服务器所使用的调度策略决定。当调度网络服务器收到用户请求后,可以随机决定使用哪台后端网络服务器,然后将该网络服务器的IP封装在HTTP响应消息的Location属性中,返回给电脑浏览器即可。调度网络服务器需要维护一个值,用于记录上次分配的后端网络服务器的IP。那么当新的请求到来时,调度者将请求依次分配给下一台网络服务器。

5、由于轮询策略需要调度者维护一个值用于记录上次分配的网络服务器IP,因此需要额外的开销;此外,由于这个值属于互斥资源,那么当多个请求同时到来时,为了不线程的安全隐患,因此需要锁定互斥资源,从而降低了性能。而随机分配策略不用维护额外的值,也就不会有线程安全隐患,因此性能比轮询要高。

6、采用HTTP跳转来实现网络服务器集群的三层交换机实现起来较为容易,逻辑非常简单,但缺点也较为明显。在HTTP跳转方法中,调度网络服务器只在手机客户端第一次向网站发起请求的时候起作用。当调度网络服务器向电脑浏览器返回响应信息后,手机客户端此后的操作都基于新的URL进行的(也就是后端网络服务器),此后电脑浏览器就不会与调度网络服务器产生关系,进而会产生如下几个问题:

由于不同用户的访问时间、访问页面深度各有不同,从而每个用户对各自的后端网络服务器所酿成的压力也不同。而调度网络服务器在调度时,无法知道当前用户将会对网络服务器造成多大的压力,因此这种方式无法实现真正意义上的三层交换机,只不过是是把请求次数平分给每台网络服务器罢了。若分配给该用户的后端网络服务器出现故障,并且如果页面被电脑浏览器缓存,那么当用户再次访问网站时,请求都会发给出现故障的网络服务器,从而导致访问失败。