IT袋

当前位置:主页 > 经验教程 > 建站编程 >

分布式、CAP和BASE理论基础

分布式、CAP和BASE理论基础(2)

时间:2024-03-25 20:25:11 来源:IT袋 作者:马勇
导读:分布式、CAP和BASE理论基础,分布式系统 把一个应用系统拆分为可独立部署的多个服务 ,因此需要服务与服务之间远程协作才能完成事务操作, 这种分布式系统环境下由不同的服务之

分布式、CAP和BASE理论基础

分布式系统把一个应用系统拆分为可独立部署的多个服务,因此需要服务与服务之间远程协作才能完成事务操作,这种分布式系统环境下由不同的服务之间通过网络远程协作完成事务称之为分布式事务,例如用户注册送积分事务、创建订单减库存事务,银行转账事务等都是分布式事务

本地事务依赖数据库本身提供的事务特性来实现,因此以下逻辑可以控制本地事务:

begin transaction;
//1.本地数据库操作:张三减少金额
//2.本地数据库操作:李四增加金额
commit transation;

分布式环境,事务变成下边这样:

begin transaction;
//1.本地数据库操作:张三减少金额
//2.远程调用:让李四增加金额
commit transation;

可以想象,当远程调用让李四增加金额成功了,由于网络问题远程调用并没有返回,此时本地事务提交失败就回滚了张三减少金额的操作,此时张三和李四的数据就不一致了。

因此在分布式架构的基础上,传统数据库事务就无法使用了,张三和李四的账户不在一个数据库中甚至不在一个应用系统里,实现转账事务需要通过远程调用,由于网络问题就会导致分布式事务问题。

4. CAP定理

CAP是是分布式系统设计中非常重要的一个原则,它是指 **Consistency(一致性)Availability(可用性)Partition tolerance(分区容错性)**三个基本原则。

4.1. Consistency(一致性)

一致性:是当数据分布在多个节点上,从任意结点读取到的数据都是最新的状态,从而确保数据准确性

在分布式系统中,广泛的一致性分为三种,分别是强一致性弱一致性最终一致性

4.1.1. 强一致性

强一致性要求用户在分布式系统中访问数据时,不管是哪个节点的响应,数据都应该完全一致

比如转账系统张三给李四转账1000块,那么张三账户减少1000块,同时李四账户响应减少100块,即要么账户 A 和账户 B 的余额都更新成功,要么都不更新。

这样可以避免出现转账金额在系统中“消失”的情况,从而保证了数据的一致性,确保了银行业务的正常运行。

4.1.2. 弱一致性

弱一致性是指在分布式系统中,允许在一定条件下出现数据不一致的情况,但最终数据会趋于一致,不保证实时性和强制性

这种一致性级别通常用于需要高可用性和性能的场景,允许在一段时间内出现数据不一致,但最终数据会在系统内部达到一致状态

相关阅读

  • 什么是DHCP服务器? DHCP服务器工作原理

    什么是DHCP服务器? DHCP服务器工作原理

    对于大多数网友来说什么是DHCP服务器的电脑小知识,一起来看看吧! DHCP(动态主机配置协议,Dynamic Host Configuration Protocol)服务器是一种网络设备,负责在TCP/IP网络中自动分配IP地址和其他网

  • 常见的虚拟化技术有哪些 虚拟化技术是什么

    常见的虚拟化技术有哪些 虚拟化技术是什么

    您可能不了解常见的虚拟化技术有哪些的相关经验,请看下面详细的介绍。 虚拟化技术是一种将物理资源(如处理器、内存、存储和网络)抽象为多个虚拟资源的方法,从而使多个操作系统和

  • html字体颜色怎么设置渐变 html字体颜色代码教学

    html字体颜色怎么设置渐变 html字体颜色代码教学

    文章摘要:html字体颜色怎么设置渐变和html字体颜色代码教学方面的讲解,下面小编为您详细解答 一、标签的分类:双标签和单标签 双标签:就是成对出现的,类似于这种 html /html 单标签:就

  • 网站定制开发怎么收费 网页设计费用报价

    网站定制开发怎么收费 网页设计费用报价

    IT袋网为大家说一说网站定制开发怎么收费和网页设计费用报价IT技巧方面的经验,接下来一起来看看吧。 最近关于网站定制多少钱的话题再次成为了大家热议的焦点。相信大家都有过这样的烦