分布式事务种类

按照实现原理分主要有三类:传统事务型、事件通知型、补偿型。

  • 传统事务型(不适用高并发场景,锁定资源较多):

    • 两阶段提交(2PC)
    • 三阶段提交(3PC)
  • 事件通知型:
    • 可靠消息实现模式
    • 最大努力通知模式
  • 补偿性:
    • 业务补偿模式
    • TCC模式

使用次序

不考虑特殊的使用场景来说,按照复杂度、性能来说推荐如下顺序:单机事务》最大努力通知》基于消息的事务》业务补偿型》TCC事务》传统事务型

推荐分布式事务框架

EasyTransaction

参考引用

  • https://www.jianshu.com/p/b264a196b177
  • https://www.cnblogs.com/skyesx/p/9697817.html
  • https://github.com/QNJR-GROUP/EasyTransaction

如何保证数据最终一致性(分布式事务)相关推荐

  1. 《深入理解分布式事务》第九章 可靠消息最终一致性分布式事务原理

    <深入理解分布式事务>第九章 可靠消息最终一致性分布式事务原理 文章目录 <深入理解分布式事务>第九章 可靠消息最终一致性分布式事务原理 一.基本原理 二.本地消息表 1.实现 ...

  2. 《深入理解分布式事务》第六章 最终一致性分布式事务解决方案

    <深入理解分布式事务>第六章 最终一致性分布式事务解决方案 文章目录 <深入理解分布式事务>第六章 最终一致性分布式事务解决方案 一.最终一致性分布式事务概述 1.典型方案 2 ...

  3. .Net Core with 微服务 - 可靠消息最终一致性分布式事务

    前面我们讲了分布式事务的2PC.3PCTCC 的原理.这些事务其实都在尽力的模拟数据库的事务,我们可以简单的认为他们是一个同步行的事务.特别是 2PC,3PC 他们完全利用数据库的事务能力,在一阶段开 ...

  4. rocketmq 消息删除_RocketMQ 实现分布式事务,达到数据最终一致性

    作者:江之北来源:https://www.jianshu.com/p/296e0de1b52e 前言 在分布式环境下,经常会有跨服务的事务需求,典型的例子如: 服务A 为账户服务,服务B为包月服务,在 ...

  5. ServiceComb中的数据最终一致性方案

    本文由华为微服务引擎技术团队&&ServiceComb社区授权发布. 数据一致性是构建业务系统需要考虑的重要问题 , 以往我们是依靠数据库来保证数据的一致性.但是在微服务架构以及分布式 ...

  6. 面试问题(如何保证分布式数据最终一致性)

    保证分布式系统数据一致性的6种方案 编者按:本文由「高可用架构后花园」群讨论整理而成. 有人的地方,就有江湖 有江湖的地方,就有纷争 问题的起源 在电商等业务中,系统一般由多个独立的服务组成,如何解决 ...

  7. HDFS的特性以及如何保证数据的一致性

    链接:https://www.nowcoder.com/questionTerminal/962225fa78e74ba7b1d7d7792407acc6?orderByHotValue=1& ...

  8. .NET Core微服务之基于MassTransit实现数据最终一致性(Part 1)

    Tip: 此篇已加入.NET Core微服务基础系列文章索引 一.预备知识:数据一致性 关于数据一致性的文章,园子里已经有很多了,如果你还不了解,那么可以通过以下的几篇文章去快速地了解了解,有个感性认 ...

  9. 基于CRDT的数据最终一致性

    对于分布式系统的架构师来说,CAP 定理所描述的一致性和可用性是一个较大的挑战.网络远程跨机房是不可避免的,数据中心之间的高延迟总是导致数据中心之间在短时间内出现某种断开.因此,传统的分布式应用体系结 ...

最新文章

  1. 前端使用 Nginx 反向代理彻底解决跨域问题
  2. Swift 4正式发布,新功能概览
  3. 7 php程序的调试方法_PHP程序错误调试方法 让php显示错误提示
  4. PHP中文处理工具函数的用法总结
  5. C++ Primer(第四版) 课后习题3.14 vector单词转大写
  6. How Kyma plugin is initiated by WordPress
  7. android获取app用户数据,专项研究:Android收集用户数据是iPhone的20倍!
  8. php dio获取串口数据,flutter通过dio读取二进制数据,比如通过api接口读取图片
  9. 不要运行explorer_在Internet Explorer浏览器上运行测试
  10. 线程开启方法之一——异步委托
  11. 微信公众号开发 ----微信获取access_token(2)
  12. atitit.提升备份文件复制速度(3) ----建立同步删除脚本
  13. BJUI-textarea标签内容高度自适应问题
  14. Redhat6.8安装docker环境
  15. U大师安装系统后,Chrome主页被7654导航劫持解决方法
  16. Python游戏——Pong
  17. 最新2021计算机排名中国大学排名,2020-2021年计算机类专业排名_中国大学本科教育按专业类排行榜_中国科教评价网...
  18. 全年日历平铺展示以及日期批量选择
  19. JAVAWeb开发:Tomcat出现The origin server did not find a current representation for the target reso...的问题
  20. 利用Arcgis Engine 二次开发的使用和总结

热门文章

  1. 解决debian下看flash视频很卡的问题
  2. Redis回收进程如何工作的?
  3. 深入理解计算机系统(原书第三版)系列 第一章 计算机系统漫游
  4. SpringCloud 从菜鸟到大牛之四 应用通信 Feign Ribbon
  5. mysql修改字段null为空字符串
  6. vue cli 对解析的html内容的图片添加样式
  7. 在Go群里摸鱼两月认识了几位号主大佬
  8. 解密 Go interface 的类型转换原理
  9. 深入学习用Go编写HTTP服务器
  10. 突变检测软件 测试数据库,测序数据比对和变异检测