问题 问答题 案例分析题

请详细阅读有关Web应用架构设计方面的说明,在答题纸上回答问题1至问题3。

说明:

某软件公司开发运维了一个社交网站系统,该系统基于开源软件平台LAMP(Linux+Apache+MySQL+PHP)构建,运行一段时间以来,随着用户数量及访问量的增加,系统在Web服务器负载、磁盘I/O等方面出现了明显瓶颈,已不能满足大量客户端并发访问的要求,因此公司成立了专门的项目组,拟对系统架构进行调整以提高系统并发处理能力。目前系统采用了传统的三层结构,系统架构如图5-1所示。

针对目前出现的Web服务器负载过大问题,项目组决定在客户端与中间层Web服务器之间引入负载均衡器,通过中间层Web服务器集群来提高Web请求的并发处理能力。在讨论拟采用的负载均衡机制时,王工提出采用基于DNS的负载均衡机制,而李工则认为应采用基于反向代理的负载均衡机制,项目组经过讨论,最终确定采用李工提出的方案。请用200字以内的文字,分别简要说明两个机制的基本原理,并从系统执行效率、安全性及简易性等方面将两种机制进行对比,将对比结果填入表5-1中。

答案

参考答案:

两种机制的基本原理:

基于DNS的负载均衡机制通过DNS服务器实现,通常通过循环复用具有同一域名的多个主机地址的服务器实现负载均衡。

反向代理负载均衡则是将来自Internet的连接请求以反向代理的方式动态转发给内部网络上的多台服务器进行处理,从而达到负载均衡的目的。

解析:

本问题考查典型负载机制相关知识。

负载均衡机制是大型Web应用解决高负荷访问和大量并发请求时常用的有效解决方法,典型的负载均衡机制包括基于DNS的负载均衡、基于反向代理的负载均衡等。

基于DNS的负载均衡机制通过DNS服务器实现,通常通过循环复用具有同一域名的多个主机地址的服务器实现负载均衡,可以看出,该机制具有实现简单、容易实施及低成本的特性。反向代理负载均衡则是将来自Internet的连接请求以反向代理的方式动态转发给内部网络上的多台服务器进行处理,从而达到负载均衡的目的。

从系统执行效率方面讲,基于DNS的负载均衡机制实现简单,但其通常不能区分服务器的差异,也不能反映服务器的当前运行状态。基于反向代理的则可以根据内部服务器的性能差异及实时负载情况进行动态负载均衡,当系统多个Web服务器性能存在明显差异或内部Web服务器出现故障时,负载均衡器可以更快做出响应,从而保证客户端的访问效率。采用基于反向代理的负载均衡机制,可在代理服务器中引入调速缓存机制,对Web服务器返回的静态页面或图片等静态资源进行缓存,由代理服务器承担对原始服务器的静态资源访问请求,从而进一步降低原始Web服务器的负载。

从安全性方面讲,采用基于反向代理的负载均衡机制,代理服务器屏蔽了客户端对真实Web服务器的直接访问,恶意用户无法对真实Web服务器进行攻击,且可以通过代理服务器为原本不安全的客户端与Web服务器之间的连接建立安全通道。因此采用基于反向代理的负载均衡机制可为系统提供更好的安全性保障。

单项选择题 A1/A2型题
单项选择题