CPA理论:

由于对系统或者数据进行了拆分,我们的系统不再是单机系统,而是分布式系统,针对分布式系统的CAP原理包含如下三个元素。

C:Consistency,一致性。在分布式系统中的所有数据 备份,在同一时刻具有同样的值,所有节点在同一时刻读取的数据都是最新的数据副本。

P: Partition tolerance,分区容忍性。尽管网络上有部分消息丢失,但系统仍然可继续工作。

A:Availability,可用性,好的响应性能。完全的可用性指的是在任何故障模型下,服务都会在有限的时间内处理完成并进行响应。

CAP原理指的是,这三个要素最多只能同时实现两点,不可能三者兼顾。因此在进行分布式架构设计时,必须做出取舍。而对于分布式数据系统,分区容忍性是基本要求,否则就失去了价值。因此设计分布式数据系统,就是在一致性和可用性之间取一个平衡。对于大多数web应用,其实并不需要强一致性,因此牺牲一致性而换取高可用性,是目前多数分布式数据库产品的方向。 当然,牺牲一致性,并不是完全不管数据的一致性,否则数据是混乱的,那么系统可用性再高分布式再好也没有了价值。牺牲一致性,只是不再要求关系型数据库中的强一致性,而是只要系统能达到最终一致性即可,考虑到客户体验,这个最终一致的时间窗口,要尽可能的对用户透明,也就是需要保障“用户感知到的一致性”。通常是通过数据的多份异步复制来实现系统的高可用和数据的最终一致性的,“用户感知到的一致性”的时间窗口则取决于数据复制到一致状态的时间。

BASE理论:

Basically Available(基本可用)、Soft-state( 软状态/柔性事务)、Eventual Consistency(最终一致性)。

是基于CAP定理演化而来,是对CAP中一致性和可用性权衡的结果。核心思想:即使无法做到强一致性,但每个业务根据自身的特点,采用适当的方式来使系统达到最终一致性。 1、基本可用:指分布式系统在出现故障的时候,允许损失部分可用性,保证核心可用。但不等价于不可用。比如:搜索引擎0.5秒返回查询结果,但由于故障,2秒响应查询结果;网页访问过大时,部分用户提供降级服务,等。 2、软状态:软状态是指允许系统存在中间状态,并且该中间状态不会影响系统整体可用性。即允许系统在不同节点间副本同步的时候存在延时。 3、最终一致性: 系统中的所有数据副本经过一定时间后,最终能够达到一致的状态,不需要实时保证系统数据的强一致性。最终一致性是弱一致性的一种特殊情况。BASE理论面向的是大型高可用可扩展的分布式系统,通过牺牲强一致性来获得可用性。ACID是传统数据库常用的概念设计,追求强一致性模型。

分布式事务流程:

柔性事务与刚性事务

柔性事务满足BASE理论(基本可用,最终一致)

刚性事务满足ACID理论 本文主要围绕分布式事务当中的柔性事务的处理方式进行讨论。

柔性事务分为

1. 两阶段型

2. 补偿型

3. 异步确保型

4. 最大努力通知型几种。

由于支付宝整个架构是SOA架构,因此传统单机环境下数据库的ACID事务满足了分布式环境下的业务需要,以上几种事务类似就是针对分布式环境下业务需要设定的。

二阶段提交协议

第一阶段: 准备阶段:协调者向参与者发起指令,参与者评估自己的状态,如果参与者评估指令可以完成,则会写redo或者undo日志,让后锁定资源,执行操作,但并不提交。 第二阶段:如果每个参与者明确返回准备成功,则协调者向参与者发送提交指令,参与者释放锁定的资源,如何任何一个参与者明确返回准备失败,则协调者会发送中指指令,参与者取消已经变更的事务,释放锁定的资源。

两阶段提交方案应用非常广泛,几乎所有商业OLTP数据库都支持XA协议。但是两阶段提交方案锁定资源时间长,对性能影响很大,基本不适合解决微服务事务问题。 缺点:如果协调者宕机,参与者没有协调者指挥,则会一直阻塞。

注会java_CPA理论与Base理论(示例代码)相关推荐

  1. CAP 理论、BASE 理论、FLP 理论

    CAP 理论.BASE 理论.FLP 理论 CAP 理论.BASE 理论.FLP 理论 1.CAP 理论 C(Consistency) 一致性: 在写操作之后的所有读操作,必须要返回写入的值. A(A ...

  2. 分布式系统中的FLP不可能原理、CAP理论与BASE理论

    前言 分布式系统是由多个不同的服务节点组成,节点与节点之间通过消息传递进行通信和协调.根据消息传递的不同,分布式系统的运行模型可以分为异步模型系统 和同步模型系统. 1.同步与异步 同步和异步关注的是 ...

  3. 从分布式一致性谈到CAP理论、BASE理论

    问题的提出 在计算机科学领域,分布式一致性是一个相当重要且被广泛探索与论证问题,首先来看三种业务场景. 1.火车站售票 假如说我们的终端用户是一位经常坐火车的旅行家,通常他是去车站的售票处购买车 票, ...

  4. CAP帽子理论与BASE理论

    ACID理论 CAP理论 一个经典的分布式系统理论.CAP理论告诉我们:一个分布式系统不可能同时满足一致性(C:Consistency).可用性(A:Availability)和分区容错性(P:Par ...

  5. 分布式理论之BASE理论

    原文链接:https://segmentfault.com/a/1190000018019595https://segmentfault.com/a/1190000018019595 什么是BASE理 ...

  6. CAP理论与BASE理论

    CAP(帽子原理) 由于对系统或者数据进行了拆分,我们的系统不再是单机系统,而是分布式系统,针对分布式系统的CAP原理包含如下三个元素. C:Consistency,一致性.在分布式系统中的所有数据备 ...

  7. CAP理论,BASE理论

    1.CAP理论 consistency(一致性): 即对于更新操作并成功返回客户端后,所有节点在同一时间的数据完全一致. 对于客户端来说,一致性指的是并发访问的时候更新过的数据如何获取的问题. 从服务 ...

  8. CAP理论和BASE理论

    CAP理论 在设计和部署分布式系统时,存在三个明显的需求: C(Consistency)一致性.即分布式数据应该同步,保存一致. A(Availability)可用性.指系统能够很好的为用户提供服务, ...

  9. 分布式系统中的CAP理论和BASE理论详解

    一.CAP理论 CAP 理论/定理open in new window起源于 2000年,由加州大学伯克利分校的Eric Brewer教授在分布式计算原理研讨会(PODC)上提出,因此 CAP定理又被 ...

最新文章

  1. Win7 IIS7.5运行ASP时出现500错误的解决办法
  2. Python中修改字符串的四种方法
  3. 第五十二期:Java开发数据库设计的14个技巧,你知道几个?
  4. numpy.linspace()的使用方法
  5. Linux多线程工作笔记0003---C语言中%p,%u,%lu都有什么用处
  6. 没有计算机基础可以学python-学习第一天day1(计算机基础,及python基础)
  7. PHP环境搭建:Windows 7下安装配置PHP+Apache+Mysql环境教程以及注意事项
  8. 采用SyncToy2.1软件实现两台电脑间文件的自动实时同步(亲测有效)
  9. 怎样学习数据结构? 伯克利神课CS61B 总结感悟,学习指南和避坑建议
  10. 怎么用手机修改图片大小?在线修改图片的方法?
  11. 微信小程序的简单使用(做一个阻抗计算器)
  12. html 手机端可以选择复制粘贴,js移动端实现网站内容复制粘贴功能
  13. QT中双击mdiArea区域打开文件(监听双击事件)
  14. 强化学习之Grid World的时序差分算法解析【MiniWorld】SYSU_2023SpringRL
  15. RH413企业安全加固 第14章 配置系统日志
  16. 北京:一个大学生每年要花多少钱
  17. 数学四大思想八大方法_中考数学专题五,四种数学思想方法,第3个比较难掌握...
  18. iptable防火墙(一)
  19. Linux Centos7.x下安装部署Jira和confluence以及破解方法详述
  20. 2. Golang基本语法

热门文章

  1. 使用Python写的CRC计算工具
  2. uniApp确认提示框
  3. 凌阳SPCA2688 4K摄像头/松翰1080P H.264 摄像头/瑞昱WDR(宽动态)USB摄像头模组
  4. dijkstra算法和A*算法
  5. Linux 磁盘分区工具gdisk
  6. 按现在的政策灵活就业人员,还有没有必要每年自己缴纳养老保险?
  7. 一份实践性超强的架构部操作手册,拿走不谢!
  8. 安装 SQL Sever 2000至最后步骤报错“安装程序配置服务器失败。 参考服务器错误日志和 C: \Windows\sqltsp.log 了解更多信息”
  9. 爬取起点中文网字体反爬取
  10. 【SSR服务端渲染+CSR客户端渲染+post请求+get请求+总结】三种开启服务器的方法总结