前段时间转了笔账,几秒钟过去,出乎意料的事情发生了,页面提示“由于收款人户名不符”导致转账失败。
那么问题来了,我的钱去哪儿了,转账失败的钱还能退给我吗?正在我思量之际,收到了APP提示退回款项的消息。
01 如何协调分布式事务的一致性与可用性
生活中类似的场景还有很多,这就关系到我们常常说的“事务”。
我们知道一致性(Consistency)、可用性(Availability)、分区容错性(Partition tolerance)是分布式系统的3个基本要求,但不可能同时满足,更多时候我们需要在保证分区容错性的同时,在一致性与可用性方面进行权衡取舍。
当然,如果对一致性要求不高,整个流程很简单。A银行对转出账户检查校验,进行金额扣减,同步调用B银行转账接口;B银行对转入账户检查校验,增加金额,并返回处理结果给A。
但实际场景并没有这么岁月静好,我们时刻需要面对数据一致性的问题:
1、同步调用远程接口,如果接口比较耗时,会导致主线程阻塞时间较长。
2、流量不能很好控制,A银行系统的流量高峰可能压垮B系统(当然B银行肯定会有自己的限流机制)。
3、如果“第1步”刚执行完,系统由于某种原因宕机了,那会导致A银行账户扣款了,但写入消息队列失败,无法进行B银行接口调用,从而导致数据不一致。
4、如果B银行由于校验失败而未能成功转账,在回调A银行接口通知回滚时网络异常或者宕机,会导致A银行转账无法完成回滚,从而导致数据不一致。
02 一个好的分布式事务要具备什么特点
对分布式系统来说,我们当然追求高可用性,然而其核心往往在于如何在异常情况下依然有可用性保障,如机器宕机、网络异常、消息丢失、消息乱序、数据错误、不可靠的TCP、存储数据丢失等异常情况。
这就需要参与其中的每个服务都足够健壮,而分布式事务想要在这方面发挥价值,需要掌握多种方案,并根据业务场景进行选择。
一个好的分布式事务需要适配自身业务特点,找到更合适的结合点。该如何进行权衡、怎样选择?是开发者的必修课。
想要掌握分布式事务,需要有强大的体系支撑,特别介绍一位在这方面有10余年经验的行业专家——玄姐(阿里云MVP/腾讯云TVP/前58技术委员会主席),他联合快狗打车CTO沈剑,把对分布式事务的深入思考结合「代码」,及阿里、腾讯、拼多多等真实场景「案例」,不断打磨、凝练,熬出了一套最新的,包含 3 大篇章 18个必知必会要点的在线专栏课(原价499,年中特惠价0.99)!
勤学福利:
特别精选了16本知乎、豆瓣高赞热评好书,都是程序员经典必读书目,无套路,购课后直接联系老师领取即可~
03 我为什么推荐这门课给你
在阿里电商、腾讯社交这类亿级分布式事务架构中,点对点的技术已不再是架构师需要聚焦的核心。玄姐也曾谈到这一点:“百万年薪架构师的核心竞争力,其实是对架构设计的升维认知以及所具备的顶级思维模型。”
玄姐在多年首席架构师的经验中发现:百万年薪架构师的顶级思维模型之一,是根据(业务)场景Balance的架构设计思维模型。BAT超一线大厂架构设计固然优秀,但照搬拷贝就变得很可笑。作为顶级架构师你需要根据所处公司的业务特点、请求并发、数据规模等场景给出灵活优雅的架构设计解决方案,满足公司未来6个月到2年的业务发展需求。
具备这些顶级架构设计思维模型,也就具备了架构设计的哲学本质,从而形成了以不变应万变的架构设计能力;具备这些顶级架构设计思维模型,也就具备了架构设计的“道”,也就彻底明白百花齐放的架构模式(单体架构、分布式事务架构、SOA、微服务架构、服务网格、云原生架构、Serverless架构、中台化架构等)只为满足各类企业不同场景的业务需求,从而能够真正做到架构设计的终极目标降本增效。在新技术日新月异变化的今天才不会迷失方向,才不会担心惧怕所谓35岁年龄问题。
在架构师领域,这门课的讲师前58技术委员会主席玄姐的技术实力和架构设计思维模型可谓有口皆碑,这次倾力打造分布式事务架构课程,目的就是为了让大家掌握分布式事务架构这一难啃知识点,同时掌握百万年薪架构师的顶级思维模型,剑指年薪百万!
金牌教研团,平均从业年限10年以上,具备大厂实战经验,对技术深度钻研,对教学精益求精,历时半年精打细磨。
行业大咖级主讲,前58集团技术委员会主席,腾讯云TVP,阿里云MVP,具备多年架构设计及大型项目经验。
备教测练评学习闭环,帮助学员循序渐进提升技术硬实力,老师全程辅导,稳步提升职场软实力。
✔ 掌握百万年薪架构师的顶级架构设计思维模型,具备以不变应万变的架构设计能力;
✔ 掌握亿级企业分布式事务架构设计哲学本质,沉淀分布式事务架构设计方法论,从而能够给出优雅架构设计解决方案;
✔ 掌握亿级企业同步业务场景分布式事务架构设计的高可用设计方法论与实践,能够确保在生产环境中稳定运行;
✔ 掌握亿级企业异步业务场景分布式事务架构设计的高并发设计方法论与实践,再也不惧怕海量高并发;
✔ 掌握亿级企业分布式事务架构设计(XA/2PC/3PC/TCC/SAGAS/Seata/异步消息/事务消息/本地消息表等)的全攻略实践,从而轻松应对企业各种各样的复杂应用场景;
✔ 掌握亿级企业分布式架构在阿里电商、腾讯社交等不同企业场景的真实设计与实践,能够做到举一反三。
✔ 技术负责人/技术经理/技术总监/技术VP/CTO
那么百万年薪架构师亿级分布式事务架构设计与实践这门实践精品课,正是为你量身定做的!
本文分享自微信公众号 - 云原生实验室(cloud_native_yang)。
如有侵权,请联系 [email protected] 删除。
本文参与“OSC源创计划”,欢迎正在阅读的你也加入,一起分享。