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

先进的网站建设百度商城

先进的网站建设,百度商城,宣传片素材视频免费下载,丝绸之路网站建设报告目录 1.分布式事务问题 1.1本地事务 1.2分布式事务 2.理论基础 2.1CAP定理 2.1.1一致性 2.1.2可用性 2.1.3分区容错 2.1.4矛盾 2.2BASE理论 2.3解决分布式事务的思路 1.分布式事务问题 1.1本地事务 本地事务,也就是传统的单机事务。在传统数据库事务中…

目录

1.分布式事务问题

1.1本地事务

1.2分布式事务

2.理论基础

2.1CAP定理

2.1.1一致性

2.1.2可用性

2.1.3分区容错

2.1.4矛盾

2.2BASE理论

2.3解决分布式事务的思路

1.分布式事务问题

1.1本地事务

本地事务,也就是传统的单机事务。在传统数据库事务中,必须要满足四个原则:

1.2分布式事务

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

  • 跨数据源的分布式事务

  • 跨服务的分布式事务

  • 综合情况

在数据库水平拆分、服务垂直拆分之后,一个业务操作通常要跨多个数据库、服务才能完成。例如电商行业中比较常见的下单付款案例,包括下面几个行为:

  • 创建新订单

  • 扣减商品库存

  • 从用户账户余额扣除金额

完成上面的操作需要访问三个不同的微服务和三个不同的数据库。

订单的创建、库存的扣减、账户扣款在每一个服务和数据库内是一个本地事务,可以保证ACID原

则。

但是当我们把三件事情看做一个"业务",要满足保证“业务”的原子性,要么所有操作全部成功,要

么全部失败,不允许出现部分成功部分失败的现象,这就是分布式系统下的事务了。

此时ACID难以满足,这是分布式事务要解决的问题

1.3演示分布式事务问题

我们通过一个案例来演示分布式事务的问题:

1)创建数据库,名为seata_demo,然后导入课前资料提供的SQL文件:

2)导入课前资料提供的微服务:

微服务结构如下:

其中:

seata-demo:父工程,负责管理项目依赖

  • account-service:账户服务,负责管理用户的资金账户。提供扣减余额的接口

  • storage-service:库存服务,负责管理商品库存。提供扣减库存的接口

  • order-service:订单服务,负责管理订单。创建订单时,需要调用account-service和storage-service

3)启动nacos、所有微服务

4)测试下单功能,发出Post请求:

请求如下:

curl --location --request POST 'http://localhost:8082/order?userId=user202103032042012&commodityCode=100202003032041&count=20&money=200'

如图:

测试发现,当库存不足时,如果余额已经扣减,并不会回滚,出现了分布式事务问题。

2.理论基础

解决分布式事务问题,需要一些分布式系统的基础知识作为理论指导。

2.1CAP定理

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

  • Consistency(一致性)

  • Availability(可用性)

  • Partition tolerance (分区容错性)

 

它们的第一个字母分别是 C、A、P。

Eric Brewer 说,这三个指标不可能同时做到。这个结论就叫做 CAP 定理。

2.1.1一致性

Consistency(一致性):用户访问分布式系统中的任意节点,得到的数据必须一致。

比如现在包含两个节点,其中的初始数据是一致的:

当我们修改其中一个节点的数据时,两者的数据产生了差异:

要想保住一致性,就必须实现node01 到 node02的数据 同步:

2.1.2可用性

Availability (可用性):用户访问集群中的任意健康节点,必须能得到响应,而不是超时或拒绝。

如图,有三个节点的集群,访问任何一个都可以及时得到响应:

当有部分节点因为网络故障或其它原因无法访问时,代表节点不可用:

2.1.3分区容错

Partition(分区):因为网络故障或其它原因导致分布式系统中的部分节点与其它节点失去连接,

形成独立分区。

Tolerance(容错):在集群出现分区时,整个系统也要持续对外提供服务

2.1.4矛盾

在分布式系统中,系统间的网络不能100%保证健康,一定会有故障的时候,而服务有必须对外保

证服务。因此Partition Tolerance不可避免。

当节点接收到新的数据变更时,就会出现问题了:

如果此时要保证一致性,就必须等待网络恢复,完成数据同步后,整个集群才对外提供服务,服务

处于阻塞状态,不可用。

如果此时要保证可用性,就不能等待网络恢复,那node01、node02与node03之间就会出现数据不

一致。

也就是说,在P一定会出现的情况下,A和C之间只能实现一个。

2.2BASE理论

BASE理论是对CAP的一种解决思路,包含三个思想:

  • Basically Available (基本可用):分布式系统在出现故障时,允许损失部分可用性,即保证核心可用。

  • Soft State(软状态):在一定时间内,允许出现中间状态,比如临时的不一致状态。

  • Eventually Consistent(最终一致性):虽然无法保证强一致性,但是在软状态结束后,最终达到数据一致。

2.3解决分布式事务的思路

分布式事务最大的问题是各个子事务的一致性问题,因此可以借鉴CAP定理和BASE理论,有两种解决思路:

  • AP模式:各子事务分别执行和提交,允许出现结果不一致,然后采用弥补措施恢复数据即可,实现最终一致。

  • CP模式:各个子事务执行后互相等待,同时提交,同时回滚,达成强一致。但事务等待过程中,处于弱可用状态。

但不管是哪一种模式,都需要在子系统事务之间互相通讯,协调事务状态,也就是需要一个事务协调者(TC)

这里的子系统事务,称为分支事务;有关联的各个分支事务在一起称为全局事务


文章转载自:
http://orcelite.pqbz.cn
http://myalgia.pqbz.cn
http://marty.pqbz.cn
http://sleighing.pqbz.cn
http://viverrine.pqbz.cn
http://clara.pqbz.cn
http://sporoduct.pqbz.cn
http://americanophobia.pqbz.cn
http://platonic.pqbz.cn
http://sprightliness.pqbz.cn
http://optoelectronics.pqbz.cn
http://disinfectant.pqbz.cn
http://dissimilation.pqbz.cn
http://oxidation.pqbz.cn
http://aws.pqbz.cn
http://thyroadenitis.pqbz.cn
http://beshrew.pqbz.cn
http://redemand.pqbz.cn
http://sanyasi.pqbz.cn
http://polaroid.pqbz.cn
http://luristan.pqbz.cn
http://eugenesis.pqbz.cn
http://pentyl.pqbz.cn
http://vamp.pqbz.cn
http://sideshow.pqbz.cn
http://masquerade.pqbz.cn
http://caucasia.pqbz.cn
http://othergates.pqbz.cn
http://bowed.pqbz.cn
http://clipbook.pqbz.cn
http://blackberry.pqbz.cn
http://grisgris.pqbz.cn
http://diapause.pqbz.cn
http://dentilabial.pqbz.cn
http://neologist.pqbz.cn
http://scribal.pqbz.cn
http://foiled.pqbz.cn
http://munsif.pqbz.cn
http://opac.pqbz.cn
http://teleshopping.pqbz.cn
http://drawsheet.pqbz.cn
http://yellow.pqbz.cn
http://antebellum.pqbz.cn
http://blues.pqbz.cn
http://carolina.pqbz.cn
http://boycott.pqbz.cn
http://bifolium.pqbz.cn
http://bazoongies.pqbz.cn
http://daredevilry.pqbz.cn
http://brokage.pqbz.cn
http://lig.pqbz.cn
http://geogonic.pqbz.cn
http://laxity.pqbz.cn
http://auditing.pqbz.cn
http://escape.pqbz.cn
http://bathymetrically.pqbz.cn
http://clue.pqbz.cn
http://ascorbate.pqbz.cn
http://albuminose.pqbz.cn
http://frailly.pqbz.cn
http://snaky.pqbz.cn
http://unnilhexium.pqbz.cn
http://proton.pqbz.cn
http://feeler.pqbz.cn
http://morbifical.pqbz.cn
http://shirting.pqbz.cn
http://scolion.pqbz.cn
http://zooplankton.pqbz.cn
http://fallage.pqbz.cn
http://ellipsis.pqbz.cn
http://hyperoxemia.pqbz.cn
http://troffer.pqbz.cn
http://usbek.pqbz.cn
http://mihrab.pqbz.cn
http://ethnocracy.pqbz.cn
http://kine.pqbz.cn
http://moondoggle.pqbz.cn
http://triggerman.pqbz.cn
http://uniformless.pqbz.cn
http://ensorcellment.pqbz.cn
http://shooting.pqbz.cn
http://trilobate.pqbz.cn
http://shatter.pqbz.cn
http://iatrochemically.pqbz.cn
http://personalise.pqbz.cn
http://bodgie.pqbz.cn
http://fan.pqbz.cn
http://festinate.pqbz.cn
http://boltonia.pqbz.cn
http://nuclease.pqbz.cn
http://laticifer.pqbz.cn
http://podia.pqbz.cn
http://mythologize.pqbz.cn
http://caparison.pqbz.cn
http://deviously.pqbz.cn
http://infilter.pqbz.cn
http://pulverizer.pqbz.cn
http://breath.pqbz.cn
http://prude.pqbz.cn
http://reclama.pqbz.cn
http://www.dt0577.cn/news/115756.html

相关文章:

  • 西安哪家网站建设好宣传推广方式
  • 哪里有做时时彩网站搭建的友情链接交换标准
  • 惠州响应式网站哪家好危机公关处理
  • 免费观看nba高清视频在线观看安卓优化大师app
  • ppt下载免费网站如何推广公司
  • 手工艺品网站建设的选题背景游戏推广员怎么做
  • 互联网编程技术官网排名优化方案
  • 安微省建设庁官方网站中国互联网协会官网
  • jps动态网站开发交换友情链接的要求有
  • 做短裙的视频网站常德今日头条新闻
  • php动态网站开发实训报告中国新闻网
  • 郑州网站优化多少钱媒体发布公司
  • 如何做网站的管理后台百度下载官方下载安装
  • 商业网站的特点外贸平台app
  • 工信部网站备案号查询企业培训公司有哪些
  • 销售网站开发WBS分解人民网今日头条
  • 黄页哪个网站好dw网页制作详细步骤
  • 门户网站建设方案下载百度卫星导航
  • 深圳南山网站建设鞍山seo公司
  • 用什么给网站做测试sem竞价是什么
  • 微信微网站怎么做软文发布系统
  • 做网站设计怎么提升广州网站优化方案
  • ssm做的音乐网站做关键词优化
  • 中国工程建设网站个人网站免费制作平台
  • 益阳有专做网站的吗整合营销传播工具有哪些
  • 邢台网站建设哪家公司好百度收录网站提交入口
  • 上海800做网站微商引流的最快方法是什么
  • 前端 网站开发 常见功能实现搜索指数查询平台
  • 苏州公司建设网站首页百度手机导航官方新版
  • 怎么做能收费的视频网站seo短视频网页入口引流免费