mysql集群原理_Mysql集群主从同步原理

MySQL数据库的主从Replication同步(又称为主从复制)是一个很成熟的架构,许多电商平台线上环境采用的都是这种方案。

MySQL的主从Replication同步的优点具体如下。

1)在业务繁忙阶段,我们可以在从服务器上执行查询工作(即我们常说的读写分离),降低主服务器的压力。

2)在从服务器上进行备份,以避免备份期间影响主服务器服务。

3)当主服务器出现问题时,可以迅速切换到从服务器,这样就不会影响线上环境了。

4)数据分布。由于MySQL复制并不需要很大的带宽,因此可以在不同的数据中心实现数据的复制。

2.主从复制同步的原理

主从复制是MySQL数据库提供的一种高可用、高性能的解决方案,其原理其实并不复杂,它并不是完全的实时,其实际上是一种异步的实时过程,如果由于网络的原因而导致延迟比较严重,这时候就需要考虑将其延迟时间作为报警系统的选项参数了,主从复制同步的具体工作步骤如下。

1)主服务器将数据更新记录到二进制日志中。

2)从服务器会开启两个线程,即I/O线程和SQL线程。

3)从服务器将主服务器的二进制日志(Binary log)复制到自己的中继日志(Relay log)中,这个是由从服务器的I/O线程来负责的。

4)从服务器执行中继日志,将其更新应用到自己的数据库上,这个是由从服务器的SQL线程来负责的。

MySQL主从Replication复制非常快,加上我们一般是将其同时置于同一机房的同一交换机之上,因此网络方面的影响非常小,小数据量的改变几乎感觉不到延迟(但还是属于异步同步),通常在Master端发生改动以后,Slave端也会立即改动,非常方便;不过,MySQL的Replication也有其弊端,如果Master端进行误操作,Slave也会进行误操作,这样就会非常麻烦。所以,如果是作为备份机使用,我们应该采取延时Replication的方法,通常是延迟一天,这种工作的具体需求大家可以自行研究。

另外,对于跨机房的MySQL主从复制,如果是数据量比较大的情况,那将是一件非常具有挑战性的工作,大家可以关注下阿里巴巴的开源项目otter。我们在很多业务场景中都遇到过在不改动代码的前提下实施MySQL读写分离的操作,这个时候我们可以考虑使用开源的数据库中间件Mycat,它不仅能实现此需求,还能支持分库分表,自带强大的Web监控,大家在有此业务需求时可以考虑下它。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值