论文部分内容阅读
Web Service是一种不依赖于编程语言、计算平台和网络协议的开发标准,它可以通过高级的编程抽象,为应用开发者屏蔽分布复杂性。负载均衡的主要功能是合理透明地在服务器之间分配系统资源,以达到系统综合性能的最优化。基于中间件的负载均衡技术在整合异构系统、透明访问和扩展能力等方面具有优势。在中间模块上可以灵活实现多种负载均衡算法,来调整和满足不同应用的负载均衡需求,提高系统的扩展性、配置性、健壮性。本文在分布式系统的基础上,构建了一种新颖的、基于Web Service的负载均衡器——WSBLB(Web Service Based Load Balancer),在LARD算法的基础上,对请求强度进行了区分,并为了准确的描述系统的负载,改进了负载衡量系数,选择CPU利用率、内存利用率、访问率、系统响应时间、输入输出流量和进程数作为衡量系统负载的参量,实现了动态负载均衡调度策略。为了避免因监测服务器而加大WSBLB的压力,造成系统的单点故障,本策略将负载信息采集程序运行在机群内的各服务结点上。当相邻采集周期的负载差值超过标准值后调用平衡器上的WEB服务,报告服务器自身的负载状况。WSBLB根据负载信息进行同步操作,更换服务序列。这种方式可以减少因衡量负载变化而产生的额外连接与资源浪费。系统负载的跟踪以各个服务器不同时间段的性能参数作为衡量标准,并为每一个参数设置系数,描述不同时段影响系统负载的显著因素,避免了单一因素突变对数据表达的错误影响,使系统性能的评价更为准确。为了验证改进后策略的效果,本文设计了一个测试的方案。在此方案中,主要包括三个组件:客户端,负载平衡器,服务端。在服务端部署简单的Web服务,包括页面访问、上传文件、下载文件和简单计算,在客户端运行测试工具模拟大量请求,平衡器根据不同的负载平衡策略负责任务的中间调度。从得到的数据分析负载均衡策略对系统性能的影响。实验中还采样了LARD等算法的数据,通过与本文负载均衡策略比较,证明面向Web services的调度策略能提高负载均衡能力,且在异质的、不同区域的集群系统中具有可行性。