美文网首页
一致性模型

一致性模型

作者: _Henry_ | 来源:发表于2017-04-18 11:50 被阅读0次

问题
当我们在生成线上用一台服务器来提供数据服务时,我们会遇到如下两个问题:
1.一台服务器性能不足以提供足够的能力服务于所有的网络请求。
2.我们担心服务器宕机造成服务的不可用或数据丢失。

通常,我们会采用两种手段来扩展我们的数据服务:
1.数据分区:就是把数据分块放在不同服务器上(如uid%16,一致性哈希等)
2.数据镜像:让所有服务器都有相同的数据,提供相当的服务。

那么问题来了:
1.在数据分区方案中:如何解决分布式事务
2.在数据镜像方案中:如何保证数据一致性

思路分析
1.要想让数据有高可用性,就得写多份数据。
2.写多份的问题会导致数据一致性问题。
3.数据一致性问题又会引发性能问题。

数据一致性模型
1.Strong强一致:当更新操作完成之后,任何多个后续进程或者线程的访问都会返回最新的更新过的值。这种是对用户最友好的,就是用户上一次写什么,下一次就保证能读到什么。比如:文件系统,RDBMS都是强一致性。根据 CAP 理论,这种实现需要牺牲可用性。
2.Weak弱一致性:系统并不保证续进程或者线程的访问都会返回最新的更新过的值。系统在数据写入成功之后,不承诺立即可以读到最新写入的值,也不会具体的承诺多久之后可以读到。
3.Eventually最终一致性:弱一致性的特定形式。系统保证在没有后续更新的前提下,系统最终返回上一次更新操作的值。在没有故障发生的前提下,不一致窗口的时间主要受通信延迟,系统负载和复制副本的个数影响。DNS 是一个典型的最终一致性系统。
在工程实践上,为了保障系统的可用性,互联网系统大多将强一致性需求转换成最终一致性的需求,并通过系统执行幂等性的保证,保证数据的最终一致性。

2PC(Two Phase Commit)
第一阶段:
1.协调者会问所有参与者结点,是否可以执行提交操作。
2.各个参与者开始事务执行的准备工作:
如:资源上锁,预留资源
3.参与者响应协调者,如果事务的准备工作成功,则回应“可以提交”,否则回应“拒绝提交”。

第二阶段:
1.如果所有的参与者都回应“可以提交”,那么协调者向所有参与者发送“正式提交”命令。参与者完成正式提交,并释放所有资源,然后回应“完成”,协调者手机各个结点的“完成”回应后结束这个Global Transaction。
2.如果有一个参与者回应“拒绝提交”,那么,协调者向所有的参与者发送“回滚操作”,并释放所有资源,然后回应“回滚完成”,协调者收集各结点的“回滚”回应后,取消这个Global Transaction。

相关文章

  • 深入浅析分布式系统的一致性模型

    本文是《如何学习分布式系统》中,关于一致性模型的相关介绍。 什么是一致性模型 一致性模型指的是分布式系统对外界承诺...

  • java 内存模型-09-jmm 汇总

    处理器内存模型 顺序一致性内存模型是一个理论参考模型,JMM 和处理器内存模型在设计时通常会把顺序一致性内存模型作...

  • 读书笔记——Java内存模型

    本文章讲解的内容是Java内存模型。 在讲解Java内存模型之前,我先聊下硬件的效率和一致性。 硬件的效率和一致性...

  • JAVA内存模型--顺序一致性

    顺序一致性模型是一个理论参考模型。 1. 数据竞争与顺序一致性 当数据未正确同步时,可能会出现数据竞争。JAVA内...

  • java并发编程(四)

    java多线程编程(四) 引言: 内存模型的基础----内存模型相关的基本概念 java内存模型中的顺序一致性--...

  • 19. Interview-Algorithm

    1 一致性算法 一致性的分类 强一致性说明:保证系统改变提交以后立即改变集群的状态。模型:Paxos:角色过多,实...

  • 分布式系统:一致性协议

    一致性模型本质上是进程与数据存储的约定,通过一致性模型我们可以理解和推理在分布式系统中数据复制需要考虑的问题和基本...

  • 分布式系统-9-释放一致性

    论文:TreadMarks 本节我们以 TreadMarks 为模型聊一聊释放一致性的是使用场景。 所谓释放一致性...

  • 接大招:查重算法实现(二)——一致性模型

    接着上一章的分析,对于相似度模型的第一个较为简单的模型称为‘一致性模型’。 模型假设: 1.字符序列的操作...

  • 服务注册发现技术对比

    技术对照表 ZookeeperEtcdConsulEurekaCAP模型CPCPCPAP数据一致性算法ZABRaf...

网友评论

      本文标题:一致性模型

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