美文网首页面试精选Java技术升华
强一致性、弱一致性、最终一致性

强一致性、弱一致性、最终一致性

作者: LANSHENGYANG | 来源:发表于2020-07-28 21:55 被阅读0次

内容

定义与介绍

  • 将不同的组件分布在不同的服务器上,给用户提供一个可靠统一的服务。
  • 分布:不同
  • 用户:可靠,统一的服务

分布式系统的原则

  • C一致性
  • A可用性
  • P分区容错性
实现一致性
  • 强一致性
    • 对多个数据源,多个数据库的所有的操作它是原子性完成的,然后它的数据是满足一致性的要求,以及隔离性,在分布式系统几乎不可能全部完成强一致性
  • 弱一致性
    • 当我的一个业务请求调用不同服务的时候,它是一个一个调用然后每一个服务的调用都是在这个事务内去满足一致性要求,对于一个用户来说他看到的结果是实际上他有可能看一个中间的结果,比如说他下单完了以后他有可能会看到扣费完成但是票还没有转移的一种状态,但是如果说他稍微等个几秒种或者说在一个很短的时间内,这个我所有的业务都能够正常的完成然后我的数据还是能达到一致性的要求
    • 对于这个弱一致性来说有一个问题就是说,如果说出错了怎么办,一个业务操作先操作了一个服务然后再操作另外一个服务,但是在操作第二个服务的时候出错了,那我的第一个服务我应该怎么回滚,或者说我的整个业务我该怎么回滚,这个就是弱一致性比较难的地方,如果说我要考虑数据回滚、重试等等这些个机制的话,那我的这个分布式系统设计就会比较复杂
  • 最终一致性
    • 在弱一执行的基础上先允许出错,但是呢我可以通过一些重试机制或者通过些定时任务去扫描然后针对这种出错的情况直接进行取消,甚至通过人工干预的方式我能够让这些数据达到最终一致性
    • 最终一致性大家很容易就能想象到,因为它不需要考虑很多数据的回滚,它的实现起来呢就会相对的容易,而它的性能就会比较好,因为我不需要考虑它的一致性或者同步性等一些操作,而且开发维护的成本也会比较低
    • 所以在现在的分布式系统中大部分使用的还是通过这种最终一致性的方式去实现分布式事务

BASE理论

如何实现原则
  • BASE: Basically Available (基本可用)、Soft state (软状态)和Eventually consistent (最终一致性 )
  • 相当于CAP原则中的一致性和可用性的权衡结果

相关文章

  • 分布式存储中的CAP理论

    参考: 强一致性、弱一致性、最终一致性 维基百科

  • 分布式服务框架

    分布式事务的一致性? 一致性Hash算法的原理? 强一致性、弱一致性、最终一致性? zookeeper如何实现数据...

  • 分布式锁,分布式事务,分布式job

    分布式事务: 弱一致性(基于MQ的最终一致性) 强一致性(基于XA二段提交的强一致性) 分布式JOB(任务调度) ...

  • [六]分布式系统

    分布式基本原则 cap原则 C 一致性 A 可用性 P 分区容错性 一致性分类 强一致性 弱一致性 最终一致性 B...

  • Paxos&一致性学习资料汇总

    Paxos算法详解图解 Paxos 一致性协议分布式理论(一) - CAP定理通俗易懂 强一致性、弱一致性、最终一...

  • 分布式事务

    一致性保证 强一致性 任何依次读的数据都是最新的。 弱一致性 最终一致性 分布式事务 两阶段提交 分为2部分 vo...

  • 聊聊面试中的分布式事务-强一致性保证

    一致性保证 强一致性 任何依次读的数据都是最新的。 弱一致性 最终一致性 分布式事务 两阶段提交 分为2部分 vo...

  • 一致性算法(Paxos、Raft、ZAB)

    一致性算法(Paxos、Raft、ZAB) 什么是一致性 1、弱一致性a、最终一致性i、DNS(Domain Na...

  • SpringCloud系列2-服务治理技术选型

    1.CAP定理 分布式系统不可避免的会遇到CAP定理。 C就是指一致性,一致性分为强一致性和弱一致性,强一致性就是...

  • Redis集群

    单机/单点 单点故障/瓶颈:多个节点负载:面向数据:一变多(一致性<弱一致,最终一致性>)》可用性最终一致性:一部...

网友评论

    本文标题:强一致性、弱一致性、最终一致性

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