网站首页  词典首页

请输入您要查询的论文:

 

标题 基于MySQL Cluster和Keepalived实现数据同步和故障转移的实验研究
范文

    李洪生 李一萌

    

    

    摘? 要: 随着互联网技术的高速发展以及高速度写的特性,数据库集群方案逐渐成为了处理数据的必备方案。但是由于技术上的壁垒和成本较大等原因,商用数据库集群方案往往对于中小型企业并不友好。而开源的MySQL集群方案,以其性能优良,经济成本小,操作简便等特点,逐步成为中小企业,甚至一些大型互联网公司搭建自己数据库系统的首选。但是MySQL集群方案本身就纷繁多样,处理数据的能力,数据同步及故障转移的高可用性也参差不齐。Keepalived是一个由C语言编写的项目,主要目标是提供负载均衡和高可用的Linux服务。Keepalived依赖于Linux Virtual Server内核提供的四层负载均衡,实现了动态自适应和维护,能够检测负载均衡池中的主机的健康状态。本实例研究通过搭建MySQL Cluster 和 Keepalived数据库集群系统,证明其可以实现数据同步和故障转移。

    关键词: Mysql Cluster;Keepalived;數据同步;故障转移

    中图分类号: TP311.131? ? 文献标识码: A? ? DOI:10.3969/j.issn.1003-6970.2019.01.015

    【Abstract】: With the rapid development of Internet technology and the characteristics of high-speed writing, database cluster scheme has gradually become a necessary solution for data processing. However, due to technical barriers and high costs, commercial database cluster schemes are often not friendly to small and medium-sized enterprises.With its excellent performance, low cost and easy operation, MySQL cluster has gradually become the first choice for small and medium-sized enterprises, even some large Internet companies to build their own database system.However, MySQL cluster scheme itself is complex and diverse, and the ability to process data, data synchronization and high availability of failover are also uneven.Keepalived is a project written in C language. Its main goal is to provide load balancing and highly available Linux services. Keepalived relies on the four-tier load balancing provided by the Linux Virtual Server kernel, realizes dynamic adaptation and maintenance, and can detect the health status of the host in the load balancing pool. Case studies show that MySQL Cluster and Keepalived can achieve data synchronization and fault transfer.

    【Key words】: Mysql cluster; Keepalived; Data synchronization; Fault transfer

    0? 引言

    在互联网时代,软件的运行环境和开发方法发生了重要变化,但数据库的作用一直都是重中之重,数据库的性能直接影响着开发的效率,甚至决定着一个系统的优劣。应用系统复杂度日益增加,对数据库的要求也是越来越高,如何搭建自己的数据库系统,已经是所有企业最为关注的焦点。但是对于一些中小企业来讲,商用的数据库软件成本太高,并不适合自己的整体运营,而一些开源的数据库软件,不但成本低,更是由于不断的更新迭代日趋完善,完全可以满足大多数企业的需求[1-3]。MySQL本身版本就非常多样化,和不同的软件配合搭建数据库系统也可以发挥出不同的效果,满足不同的需求。本研究通过在真实服务器上搭建MySQL Cluster和Keepalived的数据库集群系统,实现了不同数据库节点之间的数据同步,同时也实现了数据库系统的故障转移,当有节点发生故障时,还能够保证数据库集群系统的正常运行,实现了数据库系统的高可用性。

    1? 原理说明

    1.1? 同步复制

    MySQLCluster的主从同步复制的原理,首先主服务器会把对数据库的创建、删除、更新操作以二进制的形式记录到日志中,从服务器以心跳的方式从主服务器中接受其已经记录的更新,从服务器按照收到日志里面记录的更新进行数据同步操作,进而保证与主服务器数据一致。从服务器在读取日志和操作节点数据时,并不会干扰主服务器对数据库的操作并记录日志,主服务器依然可以继续处理更新[4-5]。

    1.2? Keepalived原理

    首先在155上创建数据库AA,在156上不创建,可以直接进入AA库,数据同步成功,没有感到时间延迟;

    通过windows上的navicat软件连接数据库,我们连接的是192.168.119.89,而不是192.168.119.156,这样当156宕机之后,89就会自动转移到155上,继续保证连接正常使用,达到故障转移的目的。通过navicat软件,在数据库AA中新建表user,插入一些数据,然后到155和156上查询一下看数据是否同步,经验证数据同步成功;

    将156宕机,在navicat(连接89)上继续进行数据库操作,刚开始的十几秒是不行的,ip正在转移中,大约十几秒之后,恢复正常,通过navicat插入一条新数据成功,启动156服务器及数据节点和sql节点后,数据同步成功;

    将156宕机,在navicat(连接88)上继续进行数据库操作,操作不受影响,启动156服务器及数据节点和sql节点后,数据同步成功;

    将管理节点宕机,在navicat(88或89)上继续进行数据库操作,操作数据正常,数据同步成功,说明集群启动成功后,管理节点出现故障仍然可以保证数据节点和sql节点的正常运行;

    将管理节点和把156关机,集群中只留下155节点,连接89的navicate出现延迟,之后操作正常,连接88的navicate没有出现延迟,操作正常,将管理节点和156启动后,查看数据同步成功;

    将156和155都宕机,navicate全部不可用,无法正常操作。

    4? 结论

    通过上述实验表明,MySQL Cluster和Keepalived搭建的数据库集群系统,只要集群中有任何一个sql节点和数据节点存活,就可以保证集群的正常运行。当某些节点出现故障时,整个数据库集群系统仍然能够运行正常,当出现故障的服务器重新启动后,数据也可以同步成功。因此,本研究通过在真实服务器上搭建MySQL Cluster和Keepalived的数据库集群系统,实现了不同数据库节点之间的数据同步,同时也实现了数据库系统的故障转移,实现了数据库系统的高可用性。

    参考文献

    钱景辉, 廖锂. 基于Keepalived的动态浮动IP集群实现[J].? 化工自动化及仪表. 2012(7).

    刘维志. 数据库应用的高可用性及实现技术研究[J]. 信息系统工程. 2013(4).

    牛亚伟, 林昭文, 马严等. 数据流信息从MySQL 到HBase 的迁移策略的研究[J]. 软件, 2015, 36(11): 01-05.

    于雪平, 孟丹. 数据库应用的高可用性及实现技术[J]. 计算机应用研究, 2004(5).

    廖琴, 文成玉. MySQL数据库高可用性的研究与实现[J]. 科技风, 2016(18): 100.

    高梅. 浅谈Oracle数据库高可用性解决方案[J]. 福建电脑, 2006(2).

    季菁苇. 计算机数据库技术在信息管理中的应用研究探讨[J]. 软件, 2018, 39(6): 160-163.

    张天珍. 基于数据库条件下购物网站建设评估与研究[J]. 軟件, 2015, 36(3): 75-82.

    史尤昭. 数据挖掘技术研究与应用[J].软件, 2015, 36(11): 38-42.

    王伟. 基于复杂网络的大型软件复杂性度量[J]. 软件, 2015, 36(11): 92-95.

    陈晓燕, 张鲲. 数据库系统原理课程教学改革探索[J]. 软件, 2018, 39(3): 102-105.

    谢华成, 马学文. MongoDB数据库下文件型数据存储研究[J]. 软件, 2015, 36(11): 12-14.

    张琪. 大数据背景下软件测试的挑战与展望[J]. 软件, 2018, 39(6): 181-183.

随便看

 

科学优质学术资源、百科知识分享平台,免费提供知识科普、生活经验分享、中外学术论文、各类范文、学术文献、教学资料、学术期刊、会议、报纸、杂志、工具书等各类资源检索、在线阅读和软件app下载服务。

 

Copyright © 2004-2023 puapp.net All Rights Reserved
更新时间:2025/2/10 18:59:22