• Home
  • Archives
  • 随笔
所有文章 友链 关于我

  • Home
  • Archives
  • 随笔

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

发布于: 2023-06-18
更新于: 2023-07-09

事务

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

事务属性

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基础看这篇就够了
© 2024 tyrantqiao 本站总访问量次 本站访客数人次 载入天数...载入时分秒...
  • 所有文章
  • 友链
  • 关于我

tag:

  • 复盘
  • 我
  • 规划
  • java
  • 面试
  • 源码
  • 架构
  • Hadoop
  • HTTP
  • TCP
  • 学习笔记
  • IDEA
  • maven
  • idea
  • Java
  • jdk
  • 面经
  • linux
  • 爱情
  • mysql
  • 性能
  • sql
  • Mysql
  • JAVA
  • 技术
  • Redis
  • MQ
  • Spring
  • 数据库
  • TIDB
  • spring
  • unity
  • chatgpt
  • 经验分享
  • 前端
  • redis
  • vue
  • git
  • shadowsocks
  • hexo
  • blog
  • bug
  • 开发
  • 业务
  • jvm
  • 算法
  • MySQL
  • nginx
  • Linux
  • mq
  • db
  • springCloud
  • ssh
  • python
  • 爬虫
  • test
  • vim
  • 影视剧
  • 中间件
  • 事务
  • 性格
  • 音乐
  • 程序员
  • 随笔
  • mybatis
  • 演讲
  • 域名
  • 猫咪
  • 她
  • github
  • 计划
  • 旅游
  • 软件
  • 心理
  • 情商
  • 幽默
  • 才艺
  • 穿搭
  • 编程
  • 排序
  • 查找
  • 缓存
  • 网络
  • 设计模式
  • c
  • 课程设计
  • centos
  • 数学
  • 本网站主题yilia设计者的主页
如果有问题或者想讨论的可以联系[email protected]或者[email protected]