【第22期】观点:IT 行业加班,到底有没有价值?

持久化存储-MySql拓展-Master-Master

转载 2017年01月03日 17:04:08

为了尽可能的降低系统停止写入的时间,最佳的方案就是采用Dual-Master架构,即Master-Master架构。


所谓的Dual-Master,实际上就是两台MySQL互相作将对方作为Master,自己作为对方的Slave。

这样任何一台数据库服务器上的数据变更,都会通过MySQL的复制机制同步到另一台服务器上。

由于MySQL在记录Binary log时,记录了当前的server-id,server-id在我们配置MySQL时就已经设置好了。

一旦有了server-id,MySQL就能够很容易的判断最初的写入是在那台服务器上发生的,MySQL不会将复制所产生的变更记录到Binary Log,这样就避免了服务器间数据的循环复制。

当然,我们搭建Dual-Master架构,并不是让两台Master都提供写入服务,因为这样会导致一些数据写入时数据不一致的问题。例如:加入Master A和Master B几乎同时对一条数据进行了更新,对Master A的更新比对Master B的稍微快一点点,当对Master A的更新最终同步到Master B时, 老版本的数据会把版本更新的数据覆盖,而且不会抛出异常,从而导致数据不一致的现象发生。

在通常情况下,我们只开启一台Master的写入,另一台Master仅仅Stand By或者作为读库开放,这样可以避免数据写入的冲突,防止数据不一致的情况发生。


举报

相关文章推荐

MySQL日志详细解析

转:http://pangge.blog.51cto.com/6013757/1319304MySQL日志:主要包含:错误日志、查询日志、慢查询日志、事务日志、二进制日志; 日志是mysql数据库...

NoSQL数据库笔谈(转)

databases , appdir , node , paper颜开 , v0.2 , 2010.2 1.    序 2.    思想篇 1.    CAP 2.    最终一致...

程序员升职加薪指南!还缺一个“证”!

CSDN出品,立即查看!

持久化存储-MySql拓展-Master-Slave

分布式架构-持久化存储之-MySql拓展-Master-Slave

NoSQL数据库笔谈<转载>

NoSQL数据库笔谈 <div style="margin-top: 0px; margin-bottom: 0px; font-family: Verdana; font-size: 1

mysql日志详细解析

转自:http://pangge.blog.51cto.com/6013757/1319304 MySQL日志: 主要包含:错误日志、查询日志、慢查询日志、事务日志、二进制日志; 日志是mysq...
收藏助手
不良信息举报
您举报文章:深度学习:神经网络中的前向传播和反向传播算法推导
举报原因:
原因补充:

(最多只允许输入30个字)