2022年分布式事物管理以及解决方案 .pdf
《2022年分布式事物管理以及解决方案 .pdf》由会员分享,可在线阅读,更多相关《2022年分布式事物管理以及解决方案 .pdf(6页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、分布式事物管理以及解决方案1、什么是分布式事务分布式事务就是指事务的参与者、支持事务的服务器、资源服务器以及事务管理器分别位于不同的分布式系统的不同节点之上。以上是百度百科的解释,简单的说,就是一次大的操作由不同的小操作组成,这些小的操作分布在不同的服务器上,且属于不同的应用,分布式事务需要保证这些小操作要么全部成功,要么全部失败。本质上来说,分布式事务就是为了保证不同数据库的数据一致性。2、分布式事务的产生的原因2.1、数据库分库分表当数据库单表一年产生的数据超过1000W,那么就要考虑分库分表,具体分库分表的原理在此不做解释,以后有空详细说,简单的说就是原来的一个数据库变成了多个数据库。这
2、时候,如果一个操作既访问01 库,又访问02 库,而且要保证数据的一致性,那么就要用到分布式事务。2.2、应用 SOA 化所谓的 SOA 化,就是业务的服务化。比如原来单机支撑了整个电商网站,现在对整个网站进行拆解,分离出了订单中心、用户中心、库存中心。对于订单中心,有专门的数据库存储订单信息,用户中心也有专门的数据库存储用户信息,库存中心也会有专门的数据库存储库存信息。这时候如果要同时对订单和库存进行操作,那么就会涉及到订单数据库和库存数据库,为了保证数据一致性,就需要用到分布式事务。名师资料总结-精品资料欢迎下载-名师精心整理-第 1 页,共 6 页 -以上两种情况表象不同,但是本质相同,
3、都是因为要操作的数据库变多了!3、事务的 ACID 特性3.1、原子性(A)所谓的原子性就是说,在整个事务中的所有操作,要么全部完成,要么全部不做,没有中间状态。对于事务在执行中发生错误,所有的操作都会被回滚,整个事务就像从没被执行过一样。3.2、一致性(C)事务的执行必须保证系统的一致性,就拿转账为例,A 有 500 元,B 有 300 元,如果在一个事务里A 成功转给 B50 元,那么不管并发多少,不管发生什么,只要事务执行成功了,那么最后A 账户一定是450 元,B 账户一定是350 元。3.3、隔离性(I)所谓的隔离性就是说,事务与事务之间不会互相影响,一个事务的中间状态不会被其他事务
4、感知。3.4、持久性(D)所谓的持久性,就是说一单事务完成了,那么事务对数据所做的变更就完全保存在了数据库中,即使发生停电,系统宕机也是如此。4、分布式事务的应用场景4.1、支付最经典的场景就是支付了,一笔支付,是对买家账户进行扣款,同时对卖家账户进行加名师资料总结-精品资料欢迎下载-名师精心整理-第 2 页,共 6 页 -钱,这些操作必须在一个事务里执行,要么全部成功,要么全部失败。而对于买家账户属于买家中心,对应的是买家数据库,而卖家账户属于卖家中心,对应的是卖家数据库,对不同数据库的操作必然需要引入分布式事务。4.2、在线下单买家在电商平台下单,往往会涉及到两个动作,一个是扣库存,第二个
5、是更新订单状态,库存和订单一般属于不同的数据库,需要使用分布式事务保证数据一致性。5、常见的分布式事务解决方案5.1、基于 XA 协议的两阶段提交XA 是一个分布式事务协议,由Tuxedo提出。XA 中大致分为两部分:事务管理器和本地资源管理器。其中本地资源管理器往往由数据库实现,比如Oracle、DB2 这些商业数据库都实现了XA 接口,而事务管理器作为全局的调度者,负责各个本地资源的提交和回滚。XA 实现分布式事务的原理如下:总的来说,XA 协议比较简单,而且一旦商业数据库实现了XA 协议,使用分布式事务的成本也比较低。但是,XA 也有致命的缺点,那就是性能不理想,特别是在交易下单链路,往
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 2022年分布式事物管理以及解决方案 2022 年分 事物 管理 以及 解决方案
限制150内