• Home
  • 归档
文章检索 作品与友邻 关于我
暴君乔博客
Home 归档

业务中事务一致性怎么处理

发布于: 2023-06-18
更新于: 2023-07-09
文章目录
  1. 事务
    1. 事务属性
    2. 隔离级别
    3. 分布式事务

事务

事务取数据库中的概念,往往就是单个逻辑单元中执行的一系列操作,是作为一个整体要么整体成功,要么整体不执行(部分成功部分失败后回滚)

事务属性

ACID的概念

  • ACID
    • Atomicity 原子性 事务内的操作要么都成功,要么都失败,不存在中间状态
    • Consistency 一致性 事务从一个状态转为另外一个状态时,对于整个数据的完整性保持稳定。即事务执行时,要有能力保证执行成功or失败都是符合预期的,要么都变成更新值,要么维持现状
    • Isolation 隔离性 不同事务修改相同数据时,未完成的事务不会影响到另外一个未完成的事务
    • Duration 持久化 事务一旦提交,其变更就持久化到数据库,即便发生宕机,恢复后也不影响事务的执行结果

隔离级别

  • Read uncommitted
  • read committed
  • repeatable read
  • serializable

详细内容不在这里赘述,感兴趣的话,可以看总结的mysql篇

Mysql基础点这里就够了

分布式事务

为保证不同数据库的数据一致性的事务解决方案,往往涉及到CAP原则和BASE理论

概念

  • CAP
    • Consistency 一致性
    • Availablity 可用性
    • Parition-tolerance 分区容错性

往往这三个是一个相互交错的情况,而系统只能从三者中选取两个交区做到最好
比如选择了 CA 一致高可用性,导致分区容错性有缺陷

针对上面情况提出了BASE理论,来指导对应分布式系统的要求

  • BASE
    • Basically Available 基本可用
    • Soft State 软状态
    • Eventually Consitent 最终一致性

在达到上面目标情况下,也就有了一些设计的方案,强一致性的两阶段提交、三阶段提交协议,以及最终一致性的可靠事件,补偿模式,TCC模式

业务中事务一致性怎么处理
/archives/730b1c7f/
作者
tyrantqiao
发布于
2023-06-18
更新于
2023-07-09
许可协议
CC BY-NC-SA 4.0
赏

蟹蟹大佬的打赏,大家一起进步

支付宝
微信
  • 面经
  • 事务

扫一扫,分享到微信

微信分享二维码
RocketMQ技术要点
Mysql基础看这篇就够了
© 2026 tyrantqiao 本站总访问量次 本站访客数人次 载入天数...载入时分秒...
  • 文章检索
  • 作品与友邻
  • 关于我

展开标签

  • 随笔
  • 旅行
  • Java
  • 面经
  • 源码
  • 计算机网络
  • 技术
  • 架构
  • Hadoop
  • IDEA
  • maven
  • JDK
  • Linux
  • MySQL
  • 性能
  • 数据库
  • Redis
  • MQ
  • Spring
  • SquirrelFin
  • 记账
  • Android
  • 个人财务
  • unity
  • TIDB
  • chatgpt
  • 前端
  • Vue
  • Git
  • Hexo
  • shadowsocks
  • 问题排查
  • 业务
  • JVM
  • 算法
  • nginx
  • ssh
  • Python
  • 爬虫
  • test
  • vim
  • 影视剧
  • 中间件
  • 事务
  • 表达
  • 运动
  • mybatis
  • AI
  • 产品
  • 家装
  • 土巴兔
  • 域名
  • github
  • 软件
  • 个人项目
  • Leaves
  • Chrome
  • 浏览器插件
  • 开源
  • Balance Voice
  • 穿搭
  • 幽默
  • 画画
  • 缓存
  • 摄影
  • c
  • 课程设计
  • 调酒
  • 设计模式
  • 数学

Collection

作品与友邻

我做的小工具、朋友的站点和一些长期值得回访的灵感来源。

  • 土 土巴兔 AI 导购交互演示 可点击体验用户导购、平台运营、装修公司、材料商及 AI 话术知识库的多端增长流程。 /demos/tubatu-ai-guide/
  • L Leaves 行程记录 我做的行程记录页面小工具,用来沉淀旅行路线、日程安排和途中的灵感。 https://leaves.tyrantqiao.com/
  • 本 本网站主题yilia设计者的主页 http://litten.me/
tyrantqiao的头像

tyrantqiao

github rss qq mail facebook linkedin

About

关于我

代码、海浪和持续折腾,都是生活的一部分。

<div class="aboutme-card"> <p class="aboutme-eyebrow">tyrantqiao</p> <h3>Java 全栈开发</h3> <p>常年和 Java、后端服务、前端工程、数据与部署打交道,喜欢把复杂问题拆开、写清楚,也把踩坑过程整理成文章留给后来的人。</p> <div class="aboutme-tags"> <span>Java</span> <span>Full Stack</span> <span>Backend</span> <span>Frontend</span> <span>Extreme Sports</span> </div> <p>工作之外偏爱冲浪等极限运动,享受在浪上找平衡,也享受在代码里找边界。</p> <div class="aboutme-contact"> <a href="mailto:[email protected]">Gmail</a> <a href="mailto:[email protected]">QQ Mail</a> </div> </div>