当前位置: 首页 > wzjs >正文

建局域网网站云南昆明网站建设公司

建局域网网站,云南昆明网站建设公司,页面模板怎么用,最好免费的高清视频1.分布式事务 分布式事务,就是指不是在单个服务或单个数据库架构下,产生的事务,例如: 跨数据源的分布式事务跨服务的分布式事务综合情况 我们之前解决分布式事务问题是直接使用Seata框架的AT模式,但是解决分布式事务…

1.分布式事务

分布式事务,就是指不是在单个服务或单个数据库架构下,产生的事务,例如:

  • 跨数据源的分布式事务
  • 跨服务的分布式事务
  • 综合情况

我们之前解决分布式事务问题是直接使用Seata框架的AT模式,但是解决分布式事务问题的方案远不止这一种。

1.1.CAP定理

解决分布式事务问题,需要一些分布式系统的基础知识作为理论指导,首先就是CAP定理

1998年,加州大学的计算机科学家 Eric Brewer 提出,分布式系统有三个指标:

  • Consistency(一致性)
  • Availability(可用性)
  • Partition tolerance (分区容错性)
    它们的第一个字母分别是 C、A、P。Eric Brewer认为任何分布式系统架构方案都不可能同时满足这3个目标,这个结论就叫做 CAP 定理。
    为什么呢?
    在这里插入图片描述

1.1.1.一致性

Consistency(一致性):用户访问分布式系统中的任意节点,得到的数据必须一致
比如现在包含两个节点,其中的初始数据是一致的:
在这里插入图片描述
当我们修改其中一个节点的数据时,两者的数据产生了差异:
在这里插入图片描述
要想保住一致性,就必须实现node01 到 node02的数据 同步:
在这里插入图片描述

1.1.2.可用性

Availability (可用性):用户访问分布式系统时,读或写操作总能成功
只能读不能写,或者只能写不能读,或者两者都不能执行,就说明系统弱可用或不可用。

1.1.3.分区容错

Partition,就是分区,就是当分布式系统节点之间出现网络故障导致节点之间无法通信的情况:
在这里插入图片描述
如上图,node01和node02之间网关畅通,但是与node03之间网络断开。于是node03成为一个独立的网络分区;node01和node02在一个网络分区

Tolerance,就是容错,即便是系统出现网络分区,整个系统也要持续对外提供服务

1.1.4.矛盾

在分布式系统中,网络不能100%保证畅通,也就是说网络分区的情况一定会存在。而我们的系统必须要持续运行,对外提供服务。所以分区容错性(P)是硬性指标,所有分布式系统都要满足。而在设计分布式系统时要取舍的就是一致性(C)和可用性(A)了。

假如现在出现了网络分区,如图:
在这里插入图片描述
由于网络故障,当我们把数据写入node01时,可以与node02完成数据同步,但是无法同步给node03。现在有两种选择

  • 允许用户任意读写,保证可用性。但由于node03无法完成同步,就会出现数据不一致的情况。满足AP
  • 不允许用户写,可以读,直到网络恢复,分区消失。这样就确保了一致性,但牺牲了可用性。满足CP

可见,在分布式系统中,A和C之间只能满足一个

1.2.BASE理论

既然分布式系统要遵循CAP定理,那么问题来了,我到底是该牺牲一致性还是可用性呢?如果牺牲了一致性,出现数据不一致该怎么处理?
人们在总结系统设计经验时,最终得到了一些心得

  • Basically Available (基本可用):分布式系统在出现故障时,允许损失部分可用性,即保证核心可用
  • Soft State(软状态):在一定时间内,允许出现中间状态,比如临时的不一致状态。
  • Eventually Consistent(最终一致性):虽然无法保证强一致性,但是在软状态结束后,最终达到数据一致

以上就是BASE理论。

简单来说,BASE理论就是一种取舍的方案,不再追求完美,而是最终达成目标。因此解决分布式事务的思想也是这样,有两个方向

  • AP思想:各个子事务分别执行和提交,无需锁定数据。允许出现结果不一致,然后采用弥补措施恢复,实现最终一致即可。例如AT模式就是如此
  • CP思想:各个子事务执行后不要提交,而是等待彼此结果,然后同时提交或回滚。在这个过程中锁定资源,不允许其它人访问,数据处于不可用状态,但能保证一致性。例如XA模式

1.3.AT模式的脏写问题

我们先回顾一下AT模式的流程,AT模式也分为两个阶段:
在这里插入图片描述

第一阶段是记录数据快照,执行并提交事务

在这里插入图片描述
第二阶段根据阶段一的结果来判断:

  • 如果每一个分支事务都成功,则事务已经结束(因为阶段一已经提交),因此删除阶段一的快照即可
  • 如果有任意分支事务失败,则需要根据快照恢复到更新前数据。然后删除快照
    在这里插入图片描述
    这种模式在大多数情况下(99%)并不会有什么问题,不过在极端情况下,特别是多线程并发访问AT模式的分布式事务时,有可能出现脏写问题,如图:

在这里插入图片描述
解决思路就是引入了全局锁的概念。在释放DB锁之前,先拿到全局锁。避免同一时刻有另外一个事务来操作当前数据。(db锁的等待时长非常长,而事务2的全局锁的等待时长只有300毫秒,所以一般最后事务1一定会拿到全局锁和db锁,不会想回等待进入死锁)

在这里插入图片描述
具体可以参考官方文档:
https://seata.apache.org/zh-cn/docs/dev/mode/at-mode/

全局锁能够限制的是都被seata统一管理的,如果有一个操作不是seata提哦难过一管理的,是其他操作的,那么全局锁就会失效,需要人工介入

在这里插入图片描述


文章转载自:

http://z8cmSZK6.nqfqj.cn
http://CiPrkJ7S.nqfqj.cn
http://ccN3ywxJ.nqfqj.cn
http://GEmvt4Eq.nqfqj.cn
http://V4I7VSAQ.nqfqj.cn
http://aMqN9BXh.nqfqj.cn
http://TgqJ5V8y.nqfqj.cn
http://41JrqZpU.nqfqj.cn
http://0pUbPG5E.nqfqj.cn
http://xwtMEiI3.nqfqj.cn
http://JewtGR0y.nqfqj.cn
http://ckCml9cR.nqfqj.cn
http://cZef8Y1f.nqfqj.cn
http://C01MGwHK.nqfqj.cn
http://xYW0ixwE.nqfqj.cn
http://xw0ntF8q.nqfqj.cn
http://j7Lq7wQO.nqfqj.cn
http://S823Hsks.nqfqj.cn
http://rrIuRfQB.nqfqj.cn
http://04MNS511.nqfqj.cn
http://551YRsSw.nqfqj.cn
http://EpXaGoOw.nqfqj.cn
http://ryAqhMkI.nqfqj.cn
http://WPNhndoR.nqfqj.cn
http://D1yTnae2.nqfqj.cn
http://hoc9uQ1N.nqfqj.cn
http://1vXqgYE5.nqfqj.cn
http://1CdrBiAx.nqfqj.cn
http://dpzXZh8J.nqfqj.cn
http://kEklGFHS.nqfqj.cn
http://www.dtcms.com/wzjs/639799.html

相关文章:

  • 装修公司网站该怎么做WordPress 图标字体
  • 做网站要不要花钱做店长如何在自己网站做直播
  • 网站默认数据库地址住房和城乡建设部执业资格注册中心网站
  • 西局网站建设软文是什么
  • 如何做自己的公司网站高级网页设计师证书
  • 政工网站建设方案软件平台是什么意思
  • 京东企业的电子网站建设网站运维
  • 宣传部网站建设策划书模板下载失败
  • 海南免费做网站云梦模板网站优缺点
  • 服饰东莞网站建设深圳网站设计成功刻
  • 织梦网站建设实验报告网红自助下单网站
  • 高端网站建设赣州白银建设工程网站
  • 什么叫网站维护建设网站第一步
  • jeecg 3.7 网站开发wordpress移动导航
  • 亚运村网站建设化妆网站模板下载免费
  • ftp免费网站空间wordpress 显示文章标题
  • 网站移动端开发公司wordpress自定义段
  • 从0建设一个网站网站建设策划优点
  • 哪个网站网页做的好看如何建立免费网站
  • 无水印视频素材下载免费网站棋牌网站建设多少钱
  • 阿里云建网站教程电商平台怎么加入
  • 百度站长网站文件验证允许发外链的网站
  • 青岛品牌网站建设价格cms+wordpress+国内
  • 想找做海报的超清图片去哪个网站找app开发费用一般多少钱
  • 手机app制作网站北京 顺义 网站制作
  • 四级a做爰片免费网站h5 技术做健康类网站
  • 上海网站建设高端自己做网站发信息
  • 网站设计自学平价网站平价网站建设建设
  • 网站内容收录怎么给网站做关键词
  • 洛阳住房和城乡建设部网站曹鹏wordpress建站seo视频