专栏的前情介绍

专栏风格介绍

由于本人除了是搞技术的程序猿之外,同时也是个小说迷,喜欢看一些流行无脑的小说。现突发奇想将小说情节引入到技术博客中,希望大家能在有趣的氛围中学习到技术知识点,并且扩展技术的深度,轻轻松松掌握一门技术,这是笔者的一种梦想生活。

情景剧情加载

关于灵境的说法,历朝历代的名人雅士众说纷纭,诗中记载:
“灵境不可状,鬼工谅难求。”

话说元始天尊于副本中晋升主宰境界,意气风发、气冲斗牛,准备找老梆子讨回降魔杵,并给她一顿教训,让她见识一下长短深浅。
但是被帮主傅青阳不屑地瞥了一眼,就你这种级别,一根手指就让你叫弟弟。你先回答我几个问题,我可以考虑借你一些道具。
元始天尊内心吐槽了一下,你不也是被白虎卫元帅打的叫弟弟,然后面露恭谨地说:老大请提问,小弟一定知无不言言无不尽。

分布式事务的起因和理论知识

傅青阳:有了解过事务吗?
元始:我知道,事务有 4 个特性:ACID,就是原子性、一致性、隔离性、持久性。

傅青阳:能讲一讲这 4 个特性吗?
元始:原子性就是一个事务的 SQL 语句要么全部成功,要么全部失败,不会出现部分成功部分失败;一致性就是 SQL 语句修改的前后必须是一致性的,比如修改 name=张三,不会变成 name=李四隔离性就是两个同时执行的事务修改了同一行数据,互相之间不会受到影响;持久性就是事务提交之后会持久化到磁盘,不会丢失。
元始内心话:这块的原理还不是手到擒来。

傅青阳:有了解过分布式事务吗?
元始:我知道,单体系统拆分为多个微服务之后,由于一个完整逻辑的业务操作需要在多个服务协作才能完成,并且每个服务都是独立数据库,这种需要多个关系型数据库,或者需要 NoSQL 型的数据库同时完成的事务,就是分布式事务。举个例子,比如下订单这个业务操作需要先调用用户服务扣减金额,然后调用订单服务创建订单,接着订单服务继续调用仓储服务扣减库存等等,这种就是分布式事务的应用场景了。

傅青阳:那分布式事务的解决方案呢?
元始:我知道,一般是 2PC (两阶段提交)的协议,分为prepare(资源准备)阶段和 commit/rollback (提交完成)阶段。目前使用比较多的都是 2PC,当然也有 3PC 但是具体的落地实现比较少。

傅青阳:有了解过分布式事务的实现框架吗?
元始:了解过 Seata。

傅青阳:讲一讲 Seata 默认的AT模式的原理。
元始:额,好像也是使用了两阶段提交的协议,阶段一就直接提交 SQL,然后生成执行前后的数据镜像,阶段二就是提交事务,然后出现异常就回滚事务。

傅青阳:那什么全局锁、本地锁、读隔离、写隔离知道吗?
元始:额…
傅青阳:滚回去修炼吧。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

Gemini技术窝

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值