参考答案:
【问题1】
王工提出的方案是采用高性能的主机系统实现系统升级。从可用性角度看,采用高性能的主机系统很难实现系统的冗余机制,当发生故障后会导致整个系统会失去响应能力,从而无法保证系统的高可用性;从可伸缩性角度看,采用高性能的主机系统,升级服务器的成本与获得的相应能力不成比例,整个系统的可扩展性较差;从应用特点来看,Internet中的Web应用绝大多数是简单任务、高强度的并发处理,而主机系统只是对于复杂单一任务和有限的并发处理具有高性能,不能同时处理大量的并发请求。因此,公司没有采用王工的方案。
【问题2】
基于DNS的负载均衡属于传输层负载均衡技术,其主要原理是在DNS服务器中为同一个主机名配置多个地址,在应答DNS查询时,DNS服务器对每个查询将以DNS文件中主机记录的IP地址按顺序返回不同的解析结果,将客户端的访问引导到不同的节点上去,使得不同的客户端访问不同的节点,从而达到负载均衡的目的。
基于HTTP重定向服务器的负载均衡属于应用层负载均衡技术,其主要原理是服务器使用HTTP重定向指令,将一个客户端重新路由到另一个位置。服务器返回一个重定向响应,而不是返回请求的对象。客户端确认新地址然后重发请求,从而达到负载均衡的目的。
【问题3】
第一种情况的描述说明系统需要提供应用会话数据支持。通常采用会话服务器机制在服务器端存放应用会话数据。但需要注意的是,应用会话数据大多数情况下是不可恢复的,因此采用支持应用会话数据容错的解决方案非常重要。
第二种情况的描述要求保证特定用户的服务质量。当数据量不断增长时,由于在会话服务器或缓存服务器,业务服务器和会话(或缓存)服务器之间可能会反复移动较大量的数据,从而无法保证服务质量。因此,通常的做法是基于应用层负载均衡器实现客户端联系,将某个客户端的所有请求转发到相同的服务器,使得一个用户会话的所有请求被同一服务器实例处理,从而保证服务质量。
详细解析:
本题考查的是Web应用系统设计、维护和升级的相关内容,主要考查系统负载均衡技术。
【问题1】
本问题考查Web应用系统升级时的方案选择问题。在Web应用中,服务器的处理能力和IO已经成为提供应用服务的瓶颈。由于涉及的信息量非常大,用户访问频率也高,许多基于Web的大型应用系统每秒钟需要处理下百万个甚至更多的请求。显然单台服务器有限的性能难以解决这个问题。
为了解决下述问题,采用高性能的主机系统(小型机或大型机)是可行的。但是,除了其价格昂贵、可扩展性差以外,这种主机系统在很多情况下也不能同时处理上百万个并发的请求。因为高速主机系统只是对于复杂单一任务和有限的并发处理显得高性能,而Internet中的Web应用绝大多数处理是简单任务、高强度并发处理。因此,即便有大量资金投入,采用高性能、高价格的主机系统,也不能满足Web应用的需要。
【问题2】
本问题主要考查负载均衡技术的分类和两种具体方法的掌握。负载均衡技术是集群系统中一项重要技术,可以提高集群系统的整体处理能力,也提高了系统的可靠性,最终目标是加快集群系统的响应速度,提高客户端访问的成功概率。
负载均衡通常分为传输层负载均衡和应用层负载均衡两类。基于DNS的负载均衡属于传输层负载均衡技术,其主要原理是在DNS服务器中为同一个主机名配置多个地址,在应答DNS查询时,DNS服务器对每个查询将以DNS文件中主机记录的IP地址按顺序返回不同的解析结果,将客户端的访问引导到不同的节点上去,使得不同的客户端访问不同的节点,从而达到负载均衡的目的。基于HTTP重定向服务器的负载均衡属于应用层负载均衡技术,其主要原理是服务器使用HTTP重定向指令,将一个客户端重新路由到另一个位置。服务器返回一个重定向响应,而不是返回请求的对象。客户端确认新地址然后重发请求,从而达到负载均衡的目的。
【问题3】
主要考查负载均衡技术的实际应用。在实际应用中,通常会将传输层负载均衡方法与应用层负载均衡方法结合起来使用,以提高系统整体的性能、可用性和可靠性。
题干描述中,第一种情况的描述说明系统需要提供应用会话数据支持。通常采用会话服务器(session server)机制在服务器端存放应用会话数据。但需要注意的是,应用会话数据大多数情况下是不可恢复的,因此采用支持应用会话数据容错的解决方案非常重要。
第二种情况的描述要求保证特定用户的服务质量。当数据量不断增长时,由于在会话服务器或缓存服务器,业务服务器和会话(或缓存)服务器之间可能会反复移动较大量的数据,从而无法保证服务质量。因此,通常的做法是基于应用层负载均衡器实现客户端联系(client affinity)将某个客户端的所有请求转发到相同的服务器上,使得一个用户会话的所有请求被同一服务器实例处理,从而保证服务质量。