论文部分内容阅读
当今的互联网应用呈现出随机访问和数据库查询频度都非常高,而数据更新的频度相对比较低的特点。人们对互联网上应用服务也提出更高的要求,传统的数据库服务器已经很难满足当前互联网的需要。在这种需求下,具有可靠性、高可用性和高扩展性特点的集群技术应运而生。但是集群技术的产生带来一些急需要解决的问题:负载均衡、读写分离、透明访问等。MySQL Proxy就是这样的一种数据库集群中间件,可以很好的解决这些问题。程序员只需要连接到这个中间件,就可以访问到数据集群,他们不需要了解集群的系统结构,而由数据库集群中间件来处理负载均衡、读写分离等问题。本文对MySQL Proxy进行深入研究后,发现MySQL Proxy在读写分离和负载均衡两个功能上存在一定缺陷。为了对这些缺陷进行修正,本文主要做了以下几个方面的工作:(1)利用MySQL Proxy和MySQL Replication构建集群系统,用触发器法来解决主从不一致导致的读写分离缺陷。(2)提出了基于概率分布和剩余负载率的负载均衡算法。该算法综合考虑各个服务器节点的真实负载和服务器自身的处理性能,很好的反映出每个节点的实时处理能力,均衡了服务器负载,发挥每个节点的最大处理性能。从而提高系统的处理性能,降低整个系统的平均响应时间。(3)在深入分析研究动态反馈模型和当前流行的集群系统之后,设计出MySQL Proxy扩展系统框架,并实现整个系统。该系统首先收集节点信息,然后根据收集的信息通过改进的负载均衡算法生成可用节点概率分布,根据概率分布来转发请求。(4)最后搭建整个系统的测试环境,利用当前常用的性能测试工具JMeter对整个数据库集群系统进行测试,并与搭配最小连接数均衡算法的MySQL Proxy进行比较。然后得出扩展前后的实验数据,进行分析得出扩展后的结论。通过实验证明,经过扩展后的平台,能够明显缩短用户的请求响应时间,并提高系统吞吐量,提高集群的稳定性。