vlambda博客
学习文章列表

微服务架构的永恒话题:服务治理、分布式事务

提起「微服务架构」,有两个永恒话题: 服务治理、分布式事务


数据库和业务模块的垂直拆分,为我们带来了系统性能、稳定性和开发效率的提升,但同时也引入了一些更复杂的问题。例如在数据一致性问题上,我们不再能依赖数据库的本地事务。于一系列的跨库写入操作,如何保证其原子性,是微服务架构设计不得不面对的问题。


绕不开的 CAP 定理

分布式系统的最大难点,是各个节点的状态如何进行同步。 CAP 定理是这方面的基本定理,也是理解分布式系统的起点。

根据 CAP 定理,一个 Web 应用只能同时支持 一致性(Consistency) 、可用性(Availability) 、分区容错性(Partition tolerance) 中的两种特性。对于横向扩展策略而言,数据分区始终不可或缺,这就等于架构师必须在一致性和可用性间做选择。

所以,在分布式系统中,基于不同的一致性需求,产生了许多不同的分布式事务解决方案。有追求强一致的两阶段提交,追求最终一致性的柔性事务、事务消息等等。

常见的分布式事务方案有哪些?

微服务架构中,常见的分布式事务解决方案有以下几种

  • 一致性保证:XA > TCC = SAGA > 事务消息

  • 业务友好性:XA > 事务消息 > SAGA > TCC

  • 性 能 损 耗:XA > TCC > SAGA = 事务消息


要注意,在柔性事务解决方案中,虽然 SAGA 和 TCC 看上去可以保证数据的最终一致性,但分布式系统的生产环境复杂多变,某些情况是可以导致柔性事务机制失效的。所以无论使用那种方案,都需要最终的兜底策略,人工校验、修复数据。

对于微服务而言,传统分布式事务解决方案存在哪些问题?如何深入理解 CAP 理论 & BASE 思想?分布式事务架构中的 XA、2PC、3PC、TCC、SAGAS、Seata,异步消息、事务消息等,该如何设计与实践?

前58技术委员会主席孙玄打造的百万年薪架构师必备能力—万亿级企业分布式事务多场景多维度架构设计的全攻略实践》精品录制课。 3 大篇章 12 模块 干货课程, 限时特价 0.99(约等于一次共享单车骑行,相当划算)。




课题 万亿级企业分布式事务多场景多维度架构设计的全攻略实践
讲师 :孙玄
形式 :精品课,一次购买不限时、不限次永久回看
费用 0.99 (原价 499 粉丝福利价0.99
名额 :200名,先到先得

如何参加?

扫码占位,先到先得
现在报名, 免费领取「百万年薪架构师干货包」
请等待课程顾问通过后咨询领取

学习,永无止境,希望大家有收获。
阅读原文 ,了解更多。