论文部分内容阅读
计算机技术的不断发展使得商业和社会机构对日常操作的计算机化要求达到了空前的程度。这些企业,组织,团体的服务器发生任何的宕机都会造成严重的损失,甚至很可能造成整个商业运作的瘫痪。基于以上原因,高可用技术应运而生。高可用系统的主要目的就是保证商业系统服务的连续,高可靠,提高用户体验,为企业提供技术层的高竞争力。本文主要的研究内容是为分布式集群系统下的服务提供一种稳定,高可靠的系统解决方案,论文中分析了实现高可用系统的要点问题,并对高可用系统进行了需求分析。论文参阅了大量高可用相关资料,对前人实现的高可用系统进行综述,分析其优缺点,同时对高可用的关键技术进行了深入分析和研究,在吸取前人高可用架构优点的基础上,对基于服务和大数据的高可用系统进行了概要设计。并对高可用各系统模块进行了详细设计。对服务器调度模块,数据同步部分以及守护进程模块等进行了编码实现,并针对高可用系统中的关键组件heartbeat和双机热备进行了实验室环境下的模拟测试。高可用系统中应用了先进成熟的技术方案,着重阐述了心跳控制,以及数据存储方案的原理以及应用方法。在前人的基础上将两者融合。本文的主要工作如下:1.前人工作综述中,概括归纳了前人设计和实现的高可用系统,分析了各系统的关键模块,并指出系统中的优缺点。2.对高可用的概念,以及设计要点进行了研究和论述,对实现基于服务和大数据的高可用系统进行了需求分析。提出了设计高可用系统时应注意的几点要求。3.对高可用系统的整体架构进行了设计,将系统服务和数据存储部分分离,并给出了具体的设计组图,对系统中各模块的工作原理进行了阐述。4.对高可用系统的两大模块:数据高可用和服务高可用模块进行了详细设计,并给出各部分的设计组图。数据高可用模块采用主备模式部署,使用heartbeat心跳组件监控主备状态,实现双机切换。由一个数据服务器管理多个实际提供服务的服务器,通过应用层自定义协议保证数据服务器和实际服务器的通信。实际服务器上设置守护进程保证本服务器服务停止时可立即启动。5.数据高可用的详细设计主要是通过mysql的二进制日志实现数据服务器主备节点数据的异步复制,通过crontab在数据服务器主备节点定时执行日志截取,发送和导入数据库操作实现数据的远程灾备。6.对系统的关键模块heartbeat心跳控制和数据库双机热备进行了配置和实验室环境的测试,验证了系统的高可用性。本文的主要创新在于:采用两种高可用架构相结合的方式,将数据存储和服务分离。存储服务器采用多节点部署,一节点一备份的方式保证数据服务器的高可用性,实际服务器采用多机同时运行的模式。通过应用层自定义协议保证两种服务器间的通信,实现任务调度模块,存储服务器每次接受客户端请求后实时查询各实际服务器状态,实时分配查询服务器地址,保证服务的高可用性。