HA与Replication

笔记一篇,直接入正题:

高可用中数据复制是关键,一般分异步、强同步和半同步三种。



异步复制就像是MySQL中最常用的主从同步,Master不管同步过程,只负责自己写入成功后立即返回,同时记录下binlog,用于Slaver进行同步。

此时若Master宕掉,Slaver有丢失最后更新数据的可能性,直接切换到Slaver有可能带来数据不一致。

对于异步复制这种情况,如果要保证数据一致性,可考虑采用共享存储实现。


和异步复制相反的强同步复制流程是, Master接收到请求后,先写入各个Slaver,全部写入成功后再写入Master自身并返回。

此方式虽然保证了数据一致性带来的高可靠性,但是无法保证高可用性,因此此时任何一台Slaver宕机都会使写入失败。

通常采用一种折衷(好吧,图中我写成了“折中”- -|||)方式,当其中一台Slaver宕掉,则Master把其临时剔除同步机器列表,当机器修复并同步完成后再重新加入列表。


相对于强同步复制还有一种半同步复制模式。此模式需要定义个常量K(K>=1),就是每次同步完成的Slaver机器最少数量。只要该次同步完成的Slaver机器数不小于K,则认为同步成功,Master自身写入并返回。

这种模式下当Master宕机后,系统可通过一种选举算法从Slaver中选出最合适(数据最新)的那台,作为将要切换的机器继续提供服务。


-----------------------------------------  华丽丽的分割线 -------------------------------------------

参考文档:《分布式系统工程实践》杨传辉(日照@淘宝),3.2节 HA与Replication 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值