的刷新时间设置得较小,但太小就会造成太大的额外网络流量,并且更改了DNS数据之后也不能立即生效;DNS负载均衡采用的是简单的轮转算法,不能 区分节点之间的差异,不能反映节点的当前运行状态,不能做到为性能较好的节点多分配请求,甚至会出现客户请求集中在某一个节点上的情况。另外,要给每个节 点分配一个Internet上的IP地址,这势必会占用过多的IP地址。
反向代理负载均衡。反向代理负载均衡是将来自Internet上的连接请求以反向代理的方式动态地转发给内部网络上的多个节点进行处理,从而达到负载均衡 的目的。反向代理负载均衡既能以软件方式实现,也能在高速缓存器和负载均衡器等硬件设备上实现。反向代理负载均衡可以将优化的负载均衡策略和代理服务器的 高速缓存技术结合在一起,提升静态网页的访问速度,提高系统性能。另外,由于网络外部用户不能直接访问真实的节点计算机,反向代理负载均衡还具备额外的安 全性(同理,基于NAT的负载均衡也有此优点)。 反向代理负载均衡的缺点主要表现在两个方面。首先,反向代理处于OSI参考模型应用层,因此,必须为每种应用服务专门开发一个反向代理服务器,这样,就限 制了反向代理负载均衡技术的应用范围,现在一般都用于对Web服务器的负载均衡;其次,针对每一次代理,代理服务器都必须打开两个连接,一个对外,一个对 内。在并发连接请求数量非常大的时候,代理服务器的负载也就非常大,代理服务器本身会成为服务的瓶颈。
Memcached 是一个高性能的分布式内存对象缓存系统,用于动态Web应用以减轻数据库负载。它通过在内存中缓存数据和对象来减少读取数据库的次数,从而提高动态、数据 库驱动网站的速度。Memcached基于一个存储键/值对的hashmap。其守护进程(daemon )是用C写的,但是客户端可以用任何语言来编写,并通过memcached协议与守护进程通信。
Mysql查询缓存的作用就是当查询接收到一个和之前同样的查询,服务器将会从查询缓存种检索结果,而不是再次分析和执行上次的查询。这样就大大提高了性能,节省时间。 试题答案
(5)
【问题1】(10分)
基于DNS的负载均衡是在DNS服务器中为同一个主机名配置多个IP 地址,在应答DNS 查询时,DNS 服务器对每个查询将以DNS文件中主机记录的IP地址按顺序返回不同的解析结果,将客户端的访问引导到不同的节点上去,使得不同的客户端访问不同的节点, 从而达到负载均衡的目的。
反向代理负载均衡。反向代理负载均衡是将来自Internet上的连接请求以反向代理的方式动态地转发给内部网络上的多个节点进行处理,从而达到负载均衡的目的。 (1)否 (2)是 (3)否 (4)是
(5)否 (6)是 (7)是 (8)否
【问题2】(7分) 本系统应采用水平分区,因为社交网络数据库的数据表记录数量非常庞大,而且记录的访问,大多集中于本地区域,所以水平分区能极大提高处理效率。
主从复制机制使得同样的数据,存在多个副本,这样让用户查询数据时,可以选择该数据最近的副本进行访问,提高效率,降低资源使用时的冲突。 【问题3】(8分) (1)Memcached (2)数据库 (3)Memcached (4)数据库 (5)Memcached
Memcached相比数据库查询缓存:
缓存架构:数据库缓存只是将查询结果进行缓存,适用面很窄,而Memcached是将数据库中的表进行缓存,对于在这些表之上的操作均可适用。
缓存有效性:Memcached缓存时效较长,只要未更新,就属于有效状态,而数据查询缓存时效较短(具体时效与配置有关),所以在此方面Memcached有优势。 缓存数据类型:Memcached缓存数据为表级,而数据库查询缓存为元组级。
试题11(2013年下半年试题1-5)
阅读以下关于企业应用系统集成架构设计的说明,在答题纸上回答问题1和问题2。 【说明】
某航空公司希望对构建于上世纪七、八十年代的主要业务系统进行改造与集成,提高企业的竞争力。由于集成过程非常复杂,公司决定首先以Ramp Coordination系统为例进行集成过程的探索与验证。
在航空业中,Ramp Coordination是指飞机从降落到起飞过程中所需要进行的各种业务活动的协调过程。通常每个航班都有一位员工负责Ramp Coordination,称之为Ramp Coordinator由Ramp Coordinator协调的业务活动包括检查机位环境、卸货和装货等。
由于航班类型、机型的不同,Ramp Coordination的流程有很大差异。图1-1 (a)所示的流程主要针对短期中转航班,这类航班在机场稍作停留后就起飞;图1-1(b)所示的流程主要针对到达航班,通常在机场过夜后第二天起飞;图 1-1(c)所示的流程主要针对离港航班,这类航班是每天的第一班飞机。这三种类型的航班根据长途/短途、国内/国外等因素还可以进一步细分,每种细分航 班类型的Ramp Coordination的流程也略有不同。
图1-1 Ramp Coordination业务流程) 为了完成上述业务,Ramp
Coordination信息系统需要从乘务人员管理系统中提取航班乘务员的信息、从订票系统中提取乘客信息、从机务人员管理系统中提取机务人员信息、接 收来自航班调度系统的航班到达事件。其中乘务人员管理系统和航班调度系统运行在大型主机系统中,机务人员管理系统运行在Unix操作系统之上,订票系统基 于Java语言,具有Web界面,运行在Linux操作系统之上。 目前Ramp Coordination信息系统主要由人工完成所有协调工作,效率低且容易出错。
公司领导要求集成后的Ramp Coordination信息系统能够针对不同需求迅速开展业务流程,灵活、高效地完成协调任务。
针对上述要求,公司IT部门的架构师经过分析与讨论,最终采用面向服务的架构,以服务为中心进行Ramp Coordination信息系统的集成工作。 【问题1】(10分)
服务建模是对Ramp Coordination信息系统进行集成的首要工作,公司的架构师首先对Ramp Coordination信息系统进行服务建模,识别出系统中的两个主要业务服务组件:
(1)Ramp Control:负责Ramp Coordination信息系统中相关各种业务活动的组件;
(2)Flight Management:负责航班相关信息的管理,包括航班日程,乘客信息等。针对上述服务模型,结合题干描述,请为每个业务服务组件提供的服务进行分析与整理,完成表1-1中的空白部分。
表1-1 业务组件服务提供的服务
【问题2】(15分) 对Ramp Coordination信息系统的集成涉及到对乘务人员管理系统、航班调度系统、机务人员管理系统和订票系统的组织与协调,公司架构师决定采用企业服务 总线(Enterprise Service Bus,ESB)技术进行系统集成,请用200字以内的文字对ESB的定义进行描述,给出ESB的五个主要功能,并针对题干描述,将恰当的内容填入图 1-2中的(1)~(6)。
图1-2 系统集成框架图 试题分析
本案例题的主题是企业应用系统集成,使用的技术主要是SOA中的ESB。所以要求考生对ESB有一定的熟悉程度。试题中问题2的前两问为概念题,在此不作分析,请直接参看答案。
问题1要求指出业务服务组件RampControl和Flight Management分别提供的服务名称。很多考生在看到这类问题时,都觉得自己没有做过面向服务架构设计中的服务设计,觉得题目难度已经超出自己的能力 范围,而无法答题。其实不然,因为服务的划分,与传统开发中的功能模块划分一样,只是粒度大一些而已。只要认真看题,并分析系统提供了哪些功能,哪些功能 归属于RampControl,哪些应归属于Flight Management,答案是很容易得出的。如题目“通常每个航班都有一位员工负责Ramp Coordination,称之为Ramp
Coordinator由Ramp Coordinator协调的业务活动包括检查机位环境、卸货和装货等。”从此就可以看出Ramp Control提供的服务包括:机位环境查询服务、
卸货检查服务、装货检查服务。从流程图可以看出此组件还应包括检查关门服务。这样,整个流程图中,只余 下接收航班信息服务适合划分至Flight Management组件。
对于问题2中的填图问题,主要是通过题目中给出的信息,以及图中其它同类位置的信息来判断。如:图中中心模块连接了各个分支模块,每个分支模块结构相同, 所以可从分支模块表达的信息看出,外框要填写的是“**系统”,而内框是“**信息”,依据这个规则,在题干中很容易得出答案。中心部分,自然就是连接件 ESB了。 试题答案
(1)【问题1】
(1)机位环境查询服务、卸货检查服务、装货检查服务、检查关门服务 (2)接收航班信息服务 【问题2】
ESB是传统中间件技术与XML、Web服务等技术结合的产物,主要支持异构系统集成。ESB基于内容的路由和过滤,具备复杂数据的传输能力,并可以提供一系列的标准接口。 ESB的主要功能:
(1)服务位置透明性; (2)传输协议转换; (3)消息格式转换; (4)消息路由; (5)消息增强; (6)安全性;
(7)监控与管理。
试题12(2013年下半年试题2-6)