🚀 分布式事务 🚀 |
🌲 AI工具、AI绘图、AI专栏 🍀
🌲 如果你想学到最前沿、最火爆的技术,赶快加入吧✨
🌲 作者简介:硕风和炜,CSDN-Java领域优质创作者🏆,保研|国家奖学金|JAVA开发技术栈|面试刷题|面经八股文|经验分享|好用的网站工具分享💎💎💎
🌲 恭喜你发现一枚宝藏博主,赶快收入囊中吧🌻
🌲 人生如棋,我愿为卒,行动虽慢,可谁曾见我后退一步?🎯🎯
🚀 分布式事务 🚀 |
🍔 目录
- 🌱 一.分布式事务场景
- 🌱 二.分布式事务之CAP理论 - 强一致性
- 🌱 三.分布式事务之BASE理论 - 最终一致性
- 🌱 四.总结
- 💬 五.共勉
🌱 一.分布式事务场景
分布式事务是指涉及多个独立的系统或服务的操作,这些操作需要保持一致性和原子性。
分布式事务通常有以下几种场景:
-
跨服务的数据操作:在一个分布式系统中,不同服务可能会涉及到同一份数据,这时需要保证数据操作的一致性和原子性。
-
跨数据库的数据操作:在一个系统中,数据可能存储在不同的数据库中,这些数据库之间需要协调操作来保持一致性。
-
跨进程的数据操作:如果多个进程需要对某个数据进行修改,则需要协调多个进程的操作来保证数据操作的一致性。
-
跨节点的数据操作:在一个分布式系统中,可能会有多个节点对同一个数据进行操作,这些节点之间需要协调操作来保证数据的一致性和原子性。
总之,当一个分布式系统中存在多个独立的节点或服务,这些节点或服务需要协同完成一个事务时,就需要使用分布式事务来保证数据的一致性和原子性。
🌱 二.分布式事务之CAP理论 - 强一致性
CAP 定理,又被叫作布鲁尔定理。CAP理论,指的是在一个分布式系统中,Consistency(一致性)、Availability(可用性)、Partition Tolerance(分区容错性),不能同时成立。
什么是网络分区?
分布式系统中,多个节点之前的网络本来是连通的,但是因为某些故障(比如部分节点网络出了问题)某些节点之间不连通了,整个网络就分成了几块区域,这就叫网络分区。
CAP 理论中分区容错性 P 是一定要满足的,在此基础上,只能满足可用性 A 或者一致性 C:
-
怎么满足CP?
对一致性要求高的场景。例如Zookeeper,任何时刻对 ZooKeeper 的读请求都能得到一致性的结果,但是, ZooKeeper 不保证每次请求的可用性。
-
怎么满足AP?
对可用性要求较高的场景。例如Eureka,Eureka 在设计的时候就是优先保证可用性。在 Eureka 中每个节点都是一样的、平等的。保证即使大部分节点挂掉也不会影响正常提供服务,只要有一个节点是可用的就可以了。
🌱 三.分布式事务之BASE理论 - 最终一致性
BASE 理论是指基本可用(Basically Available)、软状态( Soft State)、最终一致性( Eventual Consistency)。BASE 理论本质上是对 CAP 的延伸和补充,BASE理论是对CAP理论中 AP 方案的一个补充,保证最终一致性。
-
基本可用表示分布式系统在出现不可预知故障的时候,允许损失部分可用性。但是,这绝不等价于系统不可用。
-
S表示柔性状态,也就是允许短时间内不同步。
-
E表示最终一致性,数据最终是一致的,但是实时是不一致的。
🌱 四.总结
本篇文章主要讲解了分布式事务之CAP理论和BASE理论的基本概念以及原理,后续为大家讲解分布式事务解决方案,大家敬请期待呦!!
💬 五.共勉
最后,我想和大家分享一句一直激励我的座右铭,希望可以与大家共勉! |