分布式系统:一致性模型
text":"
分布式系统中一个重要的问题就是数据复制 , 数据复制一般是为了增强系统的可用性或提高性能 。 而实现数据复制的一个主要难题就是保持各个副本的一致性 。 本文首先讨论数据复制的场景中一致性模型如此重要的原因 , 然后讨论一致性模型的含义 , 最后分析常用的一致性模型 。
为什么需要一致性模型
数据复制主要的目的有两个:可用性和性能 。 首先数据复制可以提高系统的可用性 。 在保持多副本的情况 , 有一个副本不可用 , 系统切换到其他副本就会恢复 。 常用的 MySQL 主备同步方案就是一个典型的例子 。 另一方面 , 数据复制能够提供系统的性能 。 当分布式系统需要在服务器数量和地理区域上进行扩展时 , 数据复制是一个相当重要的手段 。 有了多个数据副本 , 就能将请求分流;在多个区域提供服务时 , 也能通过就近原则提高客户端访问数据的效率 。 常用的 CDN 技术就是一个典型的例子 。
但是数据复制是要付出代价的 。 数据复制带来了多副本数据一致性的问题 。 一个副本的数据更新之后 , 其他副本必须要保持同步 , 否则数据不一致就可能导致业务出现问题 。 因此 , 每次更新数据对所有副本进行修改的时间以及方式决定了复制代价的大小 。 全局同步与性能实际上是矛盾的 , 而为了提高性能 , 往往会采用放宽一致性要求的方法 。 因此 , 我们需要用一致性模型来理解和推理在分布式系统中数据复制需要考虑的问题和基本假设 。
推荐阅读
- 梦幻西游|梦幻西游:客户端检测可能存在木马要怎么办,需要重装系统吗?
- 梦幻西游|梦幻西游:系统就是这么设定的,为什么抢了财神的摇钱箱会被勾魂
- edg战队|梦幻西游:玩家从建号到100级一直踩雷,是系统针对还是巧合?
- 明日方舟|明日方舟是否有必要实装扫荡系统 博士:退一步实装连战系统也好
- 苏菲的炼金工房2|《苏菲的炼金工房2》新角色和游戏系统情报
- 和平精英|“吃鸡”迎颠覆级更新,光子上线“迷雾系统”,S1玩家拍手称快!
- 流氓公司第4赛epic包|第五人格:据说官方已制作人脸识别系统,漏网之鱼要夜不能寐了
- 王者荣耀|王者荣耀专精系统收获差评,答疑回应平衡问题
- 地下城与勇士|DNF:竞拍系统二次更新!神话转换券常驻,奥兹玛3牛团复兴
- 人脸识别|接入人脸识别认证,网易游戏再次优化防沉迷系统