DeathWhispers

什么是分布式事务?

分布式事务就是指事务的参与者、支持事务的服务器、资源服务器以及事务管理器分别位于不同的分布式系统的不同节点之上。简单的说,就是一次大的操作由不同的小操作组成,这些小的操作分布在不同的服务器上,且属于不同的应用,分布式事务需要保证这些小操作要么全部成功,要么全部失败。本质上来说,分布式事务就是为了保证不同数据库的数据一致性。 或者,在换一句话说,分布式事务 = n 个本地事务。通过事务管理器...

什么是事务消息?如何实现?

什么是事务消息?如何实现? 什么是事务消息?如何实现? 关于事务消息的概念和原理,胖友可以看看官方对这块的解答,即 《RocketMQ 4.3 正式发布,支持分布式事务》 的 「四 事务消息」 小节。 艿艿 16 年的时候,基于 RocketMQ 早期的版本,写了 《RocketMQ 源码分析 —— 事务消息》 文章,虽然 RocketMQ 版本不太一样,但是大体的思路是差不多的,可以...

什么是三阶段协议?

这个问题,严格来说不属于【分布式事务】相关,考虑到本文已经出现了一阶段提交、二阶段提交,所以这里就瞬时“硬塞”一个三阶段提交。 感兴趣的胖友,可以看看 《数据库 分布式事务 2阶提交 3阶提交》 文章。 事务解决方案的对比总结 总的来说,TCC 和 MQ 都是以服务为范围进行分布式事务的处理,而 XA、BED、SAGA 则是以数据库为范围进行分布式处理。 对于数据库中间来来说,更趋向...

什么是BASE理论?

什么是BASE理论 由于不能同时满足CAP,所以出现了BASE理论:BA:Basically Available,表示基本可用,表示可以允许一定程度的不可用,比如由于系统故障,请求时间变长,或者由于系统故障导致部分非核心功能不可用,都是允许的。S:Soft state:表示分布式系统可以处于一种中间状态,比如数据正在同步E:Eventually consistent,表示最终一致性,不要求...