分布式事务是指跨越多个独立系统或数据库的事务操作,要求这些操作要么全部成功,要么全部失败,保证数据一致性。
为什么需要分布式事务
- 微服务、分库分表、异构系统等场景下,单体事务无法满足一致性需求。
- 例如:订单服务和库存服务分别在不同数据库,需保证下单和扣库存要么都成功,要么都失败。
分布式事务的挑战
- 网络不可靠、节点故障、时延等导致一致性难以保障。
- CAP理论:一致性(C)、可用性(A)、分区容错性(P)三者不可兼得。
常见分布式事务方案
7/19/26About 2 min
分布式事务是指跨越多个独立系统或数据库的事务操作,要求这些操作要么全部成功,要么全部失败,保证数据一致性。
架构图实际上包含了所有的底层设计细节,这些细节共同支撑着顶层的架构设计。底层设计信息与顶层架构设计相辅相成,共同构成了完整的系统架构文档。
软件架构的终极目标,是以最小的人力成本,满足系统的构建与维护需求。
混乱的架构带来的成本变化:
行为价值:让机器按照指定方式运转,为系统使用者创造或提升利润。
架构价值:降低变更成本。
理论上,没有什么程序是不能修改的。但在现实中,某些系统的变更成本可能远远高于变更本身带来的价值,导致系统实际上无法更改。
Tips
如果你问业务部门是否希望能够变更需求,他们通常会肯定地回答,并补充一句:完成当前功能比实现未来的灵活性更重要。但讽刺的是,当业务部门事后提出新需求,而你的工作量预估远超他们预期时,他们往往会因系统混乱、难以变更而愤怒。
高可用 高扩展 高性能
做架构做到最后都是做折中(不能既要又要还要,只能取舍)
没什么是加一层中间层不能解决的,如果有就多加一层
高可用 和 吞吐量 互斥
磁盘顺序写文件比随机写快十几倍
【消息队列RocketMQ是什么?和Kafka有什么区别?架构是怎么样的?7分钟快速入门】https://www.bilibili.com/video/BV1m7421Z7fN?vd_source=2986f208574902129887e685377d2d3a
"MySQL 单表不要超过两千万"是流传很广的经验法则。这个数字是怎么来的?它是硬限制还是经验建议?
【Nginx是什么?Nginx高并发架构拆解指南-哔哩哔哩】 https://b23.tv/5TP2kfG