美文网首页
分布式-高可用(未完)

分布式-高可用(未完)

作者: 祝方泽 | 来源:发表于2018-03-14 10:03 被阅读0次

master - slave

最佳单的策略

master的更新同步推送到slave,优点:slave时刻与master保持同步;缺点:阻塞master进程,效率低

异步推送

master的更新异步推送到slave,优点:无需等待slave的确认信息,效率高。缺点:一切麻烦都来自于异步推送,因为异步,slave的更新会滞后于master,此时,如果master挂掉,会造成数据丢失;当master恢复后,与新master之间,会产生数据不一致,一般做法是把不一致的数据丢掉。

master -master

高效的同时,引入了更高的复杂性,所以轻易不要用这种结构

每一个master都可以进行读写,如果同时更新多个master的同一个数据,会产生写冲突(就好比,多个用户同时编辑一份文档,如果碰巧同时编辑同一句话,那么写冲突在所难免),这就是复杂性的来源。(写冲突的本质:并发模型下,同时修改一份数据;如果能将并发模型,强制改为单线程(加锁),那么写冲突就可以消除。但是在多master模式下,没有zookeeper的帮助下,很难实现锁,此时,冲突在所难免,问题变为如何解决冲突?

相关文章

网友评论

      本文标题:分布式-高可用(未完)

      本文链接:https://www.haomeiwen.com/subject/rkwxqftx.html