
分布式相关
文章平均质量分 89
分布式相关
爱上口袋的天空
一步一流年,止不住的脚步,挽不回的青春!
展开
-
本地消息表实现分布式事务—可靠消息最终一致性解决方案
本地消息表:这是ebay研发出的一种分布式事务解决方案,通过将消息表存储在数据库中,实现了消息的一致性。它的核心思想就将分布式事务拆分成本地事务进行处理本地消息表是利用各系统本地事务来实现分布式事务。业务系统的执行和消息均放入本地消息表中,确保本地业务执行和消息表的操作在一个事务中。不尝机制重试读取本地消息表,调用远程应用操作。需要加入重试机制、最大执行次数、报警机制。本地消息表容忍数据暂时不一致,期望数据的最终一致性。转载 2024-03-12 14:32:01 · 902 阅读 · 0 评论 -
分布式事务解决方案
一般来说,分布式事务的实现主要有以下 5 种方案:XA 方案 TCC 方案 本地消息表 可靠消息最终一致性方案 最大努力通知方案两阶段提交方案/XA方案所谓的 XA 方案,即:两阶段提交,有一个事务管理器的概念,负责协调多个数据库(资源管理器)的事务,事务管理器先问问各个数据库你准备好了吗?如果每个数据库都回复 ok,那么就正式提交事务,在各个数据库上执行操作;如果任何其中一个数据库回答不 ok,那么就回滚事务。这种分布式事务方案,比较适合单块应用里,跨多个库的分布式事务,而且因为严重转载 2020-09-04 22:37:08 · 133 阅读 · 1 评论 -
分布式事务解决方案之TCC
什么是TCC事务TCC是Try、Confirm、Cancel三个词语的缩写,TCC要求每个分支事务实现三个操作:预处理Try、确认Confirm、撤销Cancel。Try操作做业务检查及资源预留,Confirm做业务确认操作,Cancel实现一个与Try相反的操作即回滚操作。TM首先发起所有的分支事务的try操作,任何一个分支事务的try操作执行失败,TM将会发起所有分支事务的Cancel操作,若try操作全部成功,TM将会发起所有分支事务的Confirm操作,其中Confirm/Can...转载 2020-09-04 22:34:06 · 845 阅读 · 0 评论 -
seata实现2PC事务
业务说明 本示例通过Seata中间件实现分布式事务,模拟三个账户的转账交易过程。 两个账户在三个不同的银行(张三在bank1、李四在bank2),bank1和bank2是两个微服务。交易过程是,张三 给李四转账指定金额。 交互流程如下 1、请求bank1进行转账,传入转账金额。 2、bank1减少转账金额,调用bank2,传入转账金额。 创建数据库 seata-bank1库: --账户表CREATE TABLE `account_info` ( `id` bigint(20) NO原创 2020-09-03 23:05:57 · 640 阅读 · 0 评论 -
分布式事务解决方案之2PC(两阶段提交)入门简介
什么是2PC? 2PC即两阶段提交协议,是将整个事务流程分为两个阶段,准备阶段(Prepare phase)、提交阶段(commit phase),2是指两个阶段,P是指准备阶段,C是指提交阶段。 举例:张三和李四好久不见,老友约起聚餐,饭店老板要求先买单,才能出票。这时张三和李四分别抱怨近况不如 意,囊中羞涩,都不愿意请客,这时只能AA。只有张三和李四都付款,老板才能出票安排就餐。但由于张三和李四 都是铁公鸡,形成了尴尬的一幕: 准备阶段:老板要求张三付款,张三付款。老...原创 2020-09-02 22:44:14 · 4966 阅读 · 1 评论 -
分布式理论基础知识点入门
什么是分布式事务指一次大的操作由不同的小操作组成的,这些小的操作分布在不同的服务器上,分布式事务需要保证这些小操作要么全部成功,要么全部失败。从本质上来说,分布式事务就是为了保证不同数据库的数据一致性 分布式事务产生的场景 CAP理论 什么叫做因为网络问题而导致节点之间通信失败,此时仍可对外提供服务? 就是说主节点向从节点进行数据同步的时候,因为网络的原因导致数据同步失败,但是,外面的服务仍然可以向主 节点写入数据,并且也可以向从节点查询数据,不会因为网络的原因导致主从节点无法向外...原创 2020-09-02 22:30:34 · 310 阅读 · 0 评论