MySQL数据库HA方案的示例分析
创始人
2024-12-20 19:23:29
0次

一、 MySQL Replication

对于单一的MySQL同步功能,因无法实现IP地址的自动切换,而该表中所列的功能是MySQL Replication的单向同步工作方式,需要改进为双向同步,就可以实现数据的双向同步、重同步、数据库切换的功能。

二、 MySQL Replication+Heartbeat

对于第二种方案,引入了heartbeat,所以可以实现IP地址切换,heartbeat只针对主机和网络故障的切换,无法监控数据库故障,所以需要额外的工具和配置,而且MySQL Replication的工作机制为异步通讯方式,对同步的数据的一致性可能产生影响。

三、 MySQL+Heartbeat+DRBD

对于第三种采用了DRBD,DRBD是Distributed Replicated Block Device,是基于内核开发的一个虚拟块设备的工具,该软件可以在一个实际块设备或分区上虚拟一个块设备,并挂载到系统之上,两台主机通过配置,来同步块设备上的数据,能够实现双向实时同步的功能,但同时只能有一台主机处于活动状态,从服务器上的虚拟块设备无法挂载,从而不能启动从服务器的MySQL服务,在切换时需要从服务器控制启动顺序,按顺序切换DRBD,挂载虚拟块设备,启动MySQL,调试中该时延较长。而且DRBD基于内核,在应用调试中,多次导致服务器内核出问题而导致主机死机,所以对于服务器的高稳定需求不满足。

四、 MySQL Cluster

集群方式一般应用在负载均衡,采用单向同步的方式,对数据的修改只在一台数据库服务器上进行,对于查询则交给其他的数据库服务器,同时无法完成IP地址的自动切换,所以没有调试

五、 MySQL+memcached

这种方案采用共享内存的方式,使多个MySQL共享同一内存缓冲区,故不适用备份的目的。

六、 其他方案

1.    MySQL Proxy:

对于IP地址切换的功能,也可以采用MySQL Proxy来实现,其工作原理是在MySQL Server和Client之间添加一个代理设备,通过lua脚本来处理数据请求,可以根据业务需求用lua脚本实现不同的功能,但这种方式将多添加一台MySQL Proxy服务器,所以不考虑。

2.    MyBalance和MyReplication

对于同步功能,除了MySQL本身的同步和DRBD外,还有MyBalance和MyReplication两个工具可以实现,但这两个工具只能进行单向同步,不适合双向备份的目的,所以无法满足需求。

相关内容

热门资讯

空调连续工作多久需要停机休息 空调连续工作的时间取决于多个因素,包括空调的型号、功率、使用环境和维护情况等。一般来说,空调可以连续...
空调哪个符号是除湿的 空调除湿功能通常用一个水滴形状的符号表示。不同品牌和型号的空调遥控器可能会有所差异,但一般来说,除湿...
格力空调多长时间加一次氟利昂 1、一般情况下,空调对氟利昂的使用量是非常小的,所以在空调使用了四年左右的时候再考虑加也没问题。2、...
空调用多长时间需要加氟一次 一般情况下是五年。当出现以下这几种情况时,空调才需要加氟。1、空调的室内机和室外机各有两个接口,当接...
格调生活·C标思享荟:卡萨帝在... 9月12日的郑州龙湖金融岛,夜风轻拂,灯光璀璨。“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑...
品牌价值破千亿、高端份额持续领... 9月12日,“C标时刻共传奇——卡萨帝思享荟暨20周年品牌盛典郑州站”在郑州龙湖金融岛举办。2026...
空调主板坏了修800还是换新的 空调主板坏了是修还是换新,需要考虑多个因素,以下是一些建议:1. 维修成本:如果维修费用较低,比如 ...
空调开多久需要休息多长时间 问题:空调开多久需要休息多长时间回答:1、在使用空调的过程中,一般空调开7~8个小时左右需要休息2~...
中央空调多长时间清洗一次 1、一般空调开机前清洗一次即可,空调开机中间时段再清洗一次,空调关机时清洗一次,这样比较合理。2、空...
中央空调氟利昂多久加一次 看空调制热和制冷程度,很多人的观点认为氟利昂必须一年放一次,其实这个观点是错误的,理解上面有点偏差,...