Greenplum内核源码分析-分布式事务(一)
最近,工作中要为现在的老系统做拆分和升级,刚好遇到了分布式事务、幂等控制、异步消息乱序和补偿方案等问题,刚好基于实践结合个人的看法记录一下一些方案和思路。
MySQL的XA事务崩溃了,我是这样恢复的!!
XA 分布式事务
在 MySQL 中只有使用 Innodb 引擎才支持事务,事务用于维护数据的完整性。
分布式事务,最快捷的实现
分布式事务之事务消息,RocketMQ 和 Kafka 是如何实现的?
分布式数据一致性解决方案总结
分布式事务一网打尽。
随着业务发展,单体系统逐渐无法满足业务的需求,分布式架构逐渐成为大型互联网平台首选。伴随而来的问题是,本地事务方案已经无法满足,分布式事务相关规范和框架应运而生。
关于分布式事务,这些是你必须要了解的!!
Seata是一款开源的分布式事务解决方案,致力于在微服务架构下提供高性能和简单易用的分布式事务服务。它提供了AT、TCC、Saga和XA事务模式,为开发者提供了一站式的分布式事务解决方案。其中TCC和XA可以参考之前的文章,AT和Saga这两种事务模型是什么呢?
当前微服务“大行其道”,而微服务很大的一痛点就是分布式服务如何解决,Seata为了我们提供了开箱即用的解决方案,并且因其易用、活跃的社区、高效的性能等成为分布式解决方案的不二之选,本文对Seata的实现原理进行详细的讲解。
分布式事务是一个很难解决的难题,要保证分布式事务的ACID特性更是难上加难。有时为了实现分布式事务,我们不得不做各种权衡。本文研究阿里分布式事务解决方案Seata的源码,研究主要集中在AT模式。
分布式事务的协议都包含哪些,我们日常开发过程中主要采用哪些方案。分布式系统高可用是如何保证副本一致性,具体都有哪些算法,以及数据的分布算法等
为了保证分布式环境下数据强一致性,需要引入分布式事务,而分布式事务由于网络环境的不确定性,天生就很难实现。具体可以见上一篇。
MySQL的XA事务崩溃了,我是这样恢复的!!
在前面的文章中,我们学习了Seata的搭建以及AT模式的使用,通过实践可以发现在AT模式下,用户只需要关注自己的业务,具体分布式事务的处理过程对用户来说是透明的,适用于用户不希望对业务进行改造的场景。Seata中除了AT模式外,还有TCC、Sage、XA三种模式
设计实现一个 TCC 分布式事务框架的简单 Demo,实现事务管理器,不需要实现全局事务的持久化和恢复、高可用等
我们来实践完成一个微服务上的xa事务,加深分布式事务的理解,这里采用dtm作为分布式事务的管理者,来运行其中一个xa的demo
基于CAP理论我们可以知道,对于数据一致性问题有AP和CP两种方案,但是在电商领域等互联网场景下,基于CP的强一致性方案在数据库性能和系统处理能力上会存在一定的瓶颈。
本文重点阐述了基于RocketMQ来实现最终一致性的分布式事务案例。 另外,也分享了关于《RocketMQ技术内幕》一书中,分布式事务示例代码,可能出现的异常问题。关于这一点,也希望朋友们如果有不同看法,积极留言,共同交流。
提到事务,很多人第一时间想到的是数据库的事务。所谓的数据库事务是指作为单个逻辑工作单元执行的多个数据库操作,要么同时成功,要么同时失败,它必须满足ACID特性
我们先看看百度上对于分布式事务的定义:分布式事务是指事务的参与者、支持事务的服务器、资源服务器以及事务管理器分别位于不同的分布式系统的不同节点之上。
分布式系统中使用到的一些基本理论
咱们今天聊聊分布式事务系列中的最后一个方案:最大努力通知事务。最大努力通知事务的主流实现仍是基于MQ来进行事务控制。最大努力通知事务和事务消息都是通知型事务,主要适用于那些需要异步更新数据,并且对数据的实时性要求较低的场景。
基于ShardingSphere的Atomikos XA实现一个简单的分布式事务应用demo
Seata 是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。
分布式事务涉及的一些基本概念、基本模式综合以及对比。
随着业务的快速发展、业务复杂度越来越高,几乎每个公司的系统都会从单体走向分布式,特别是转向微服务架构。随之而来就必然遇到分布式事务这个难题,这篇文章总结了分布式事务最经典的解决方案,分享给大家。
有组队撸Seata源码的吗?