![](https://img-blog.csdnimg.cn/20201014180756919.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
分布式
文章平均质量分 83
源代码CXH
这个作者很懒,什么都没留下…
展开
-
高并发系统限流原理
在上图中,整个虚线矩形框是一个时间窗口,在我们的例子中,一个时间窗口就是1分钟,然后我们将时间窗口进行划分,如上图我们把滑动窗口划分为6格,所以每一格代表10秒,每超过10秒,我们的时间窗口就会向右滑动一格,每一格都有自己独立的计数器,例如:一个请求在0:35到达, 那么0:30到0:39的计数器会+1,那么滑动窗口是怎么解决临界点的问题呢?令牌的数量与时间和发放速率强相关,时间流逝的时间越长,会不断往桶里加入越多的令牌,如果令牌发放的速度比申请速度快,令牌桶会放满令牌,直到令牌占满整个令牌桶,如图所示。原创 2024-06-05 22:06:54 · 830 阅读 · 0 评论 -
XA强一致性分布式事务原理
需要注意的是,在DTP模型中,MSOL 属于资源管理器,而一个完整的分布式事务中一般会存在多个资源管理器,由事务管理器来统一协调。在Mysql的事务语法中,最后都会跟随XID,对于Mysql来说,XID作为一个事务分支的标识符,事实上XID作为事务分支标识符在XA规范中被定义。Mysql XA 事务状态是正确执行XA事务的关键,每次执行Mysql XA事务语句都会修改XA事务的状态,进而执行不同的XA语句。XA 二阶段提交一提到分布式事务,总会出现二阶段这个词,什么是二阶段,什么是 XA 的二阶段提。原创 2024-05-30 17:59:19 · 612 阅读 · 0 评论 -
分布式事务基本概念
将一个大的应用系统拆分为多个可以独立部署的应用服务,需要各个服务远程协助才能完成某些事务操作,总的来说,分布式事务会在一下3中场景下产生,分别是夸JVM进程、跨数据库实例、多服务访问单数据库。总的来说,数据一致性问题包含数据多副本、调用超时、缓存与数据库不一致、多个缓存节点数据不一致等场景。业界对于数据一致性问题提出了相应的解决方案,目前比较成熟的方案有。的演变,很多互联网企业系统架构已经向服务化网格演变。分布式架构目标和架构的原则。原创 2024-05-16 21:50:05 · 387 阅读 · 0 评论 -
分布式事务的理论知识
Base理论是对CAP理论的一个拓展,它通过牺牲强一致性来获得可用性,Base理论中的Base是基本可用(Basically Available)、软状态(Soft State)和最终一致性(Eventually Consistent)的缩写,系统故障时,允许部分数据不可用,但是会保证核心的功能可用,允许数据在一段时间内不一致,但是经过一段时间后,数据最终是一致的。系统在满足分区容错性的前提下,一致性和可用性就是矛盾的,所以最终会有AP、CP、CA三种组合方式。原创 2024-05-20 20:25:55 · 343 阅读 · 0 评论 -
分布式事务解决方案(强一致性)
3PC模型指的是三阶段提交,是在2PC模型的基础上改进的版本,3PC模型把2PC模型中的Prepare阶段一分为二,最终形成3个阶段:CanCommit阶段、PreCommit阶段和doCommit或者doRollback阶段,同样也分为事务执行成功和事务执行失败2种情况。DTP模型是X/open组织定义的一套分布式事务标准,这套标准主要定义了实现分布式事务的规范和API,具体的实现交由相应的厂商来实现,其中定义了几个重要的概念,分别是事务、全局事务、分支事务、控制线程。DTP模型的执行流程。原创 2024-05-24 17:21:53 · 855 阅读 · 0 评论 -
分布式事务解决方案(最终一致性【TCC解决方案】)
例如实现TCC分布式事务方案时,需要实现Try、Confirm、Cancel三个阶段的业务逻辑,这就是TCC操作,在TCC操作的每个阶段的方法都需要实现幂等性,这就是幂等操作,如果在执行分布式事务过程中业务服务出现了异常情况,则需要支持重试阶段,以达到事务补偿的目的,这就是可补偿操作,另外业务服务需要提供可以查询自身内部事务状态的接口,以供其他服务调用,这就是可查询操作。TCC是一种典型的解决分布式事务问题的方案,主要解决跨服务调用场景下得分布式事务问题,广泛应用于分布式事务场景。空回滚、幂等和悬挂问题。原创 2024-05-27 22:00:00 · 612 阅读 · 0 评论 -
分布式事务解决方案(最终一致性【可靠消息解决方案】)
如果支付服务调用账户服务的接口超过了设置的最大次数,仍然没有调用成功,则支付服务需要提供查询支付结果的接口,以便账户服务调用并恢复丢失的业务。消息恢复服务会定期检测事务参与方业务的执行状态和消息库中的数据,如果发现事务参与方业务的执行状态与消息库中的数据不一致(这里的不一致,通常指的是事务参与方消费消息后,执行本地事务操作失败,导致事务参与方本地事务的执行状态与消息库中的数据不一致),消息恢复服务就会恢复消息库中消息的状态,使消息的状态回滚为事务发起方发送消息成功,但未被事务参与方消费的状态。原创 2024-05-28 19:00:29 · 801 阅读 · 0 评论