BASE(Basically Available、Soft state、Eventual consistency)是基于CAP理论逐步演化而来的,核心思想是即便不能达到强一致性(Strong consistency),也可以根据应用特点采用适当的方式来达到最终一致性(Eventual consist
一、分布式锁场景 一般需要使用分布式锁的场景如下: 效率:使用分布式锁可以避免不同节点重复相同的工作,比如避免重复执行定时任务等; 正确性:使用分布式锁同样可以避免破坏数据正确性,如果两个节点在同一条数据上面操作,可能会出现并发问题。 二、分布式锁特点 一个完善的分布式锁需要满足以下特点: 互斥性:
分布式事务:在分布式系统中一次操作需要由多个服务协同完成,这种由不同的服务之间通过网络协同完成的事务称为分布式事务 一、2PC: 2PC,两阶段提交,将事务的提交过程分为资源准备和资源提交两个阶段,并且由事务协调者来协调所有事务参与者,如果准备阶段所有事务参与者都预留资源成功,则进行第二阶段的资源提
Seata是一款开源的分布式事务解决方案,致力于提供高性能和简单易用的分布式事务服务。Seata将为用户提供了AT、TCC、SAGA和XA事务模式,为用户打造一站式的分布式解决方案。 1.1 Seata的三大角色 在 Seata 的架构中,一共有三个角色: TC (Transaction Coord
Paxos 有点类似前面说的 2PC,3PC,但比这两种算法更加完善。在很多多大厂都得到了工程实践,比如阿里的 OceanBase 的 分布式数据库, Google 的 chubby 分布式锁 。 Paxos算法是什么? Paxos 算法是 基于消息传递 且具有 高效容错特性 的一致性算法,目前公认
Raft算法是什么? Raft 也是一个 一致性算法,和 Paxos 目标相同。但它还有另一个名字 - 易于理解的一致性算法。Paxos 和 Raft 都是为了实现 一致性 产生的。这个过程如同选举一样,参选者 需要说服 大多数选民 (Server) 投票给他,一旦选定后就跟随其操作。Paxos 和
什么是幂等性? 幂等性是一个数学概念,用在接口上:用在接口上就可以理解为:同一个接口,多次发出同一个请求,请求的结果是一致的。 简单说,就是多次调用如一次。 什么是幂等性问题? 在系统的运行中,可能会出现这样的问题: 用户在填写某些form表单时,保存按钮不小心快速点了两次,表中竟然产生了两条重复的
计数器 计数器比较简单粗暴,比如我们要限制1s能够通过的请求数,实现的思路就是从第一个请求进来开始计时,在接下来的1s内,每个请求进来请求数就+1,超过最大请求数的请求会被拒绝,等到1s结束后计数清零,重新开始计数。 这种方式有个很大的弊端:比如前10ms已经通过了最大的请求数,那么后面的990ms
Dubbo的SPI(Service Provider Interface)机制是一种扩展点加载机制,用于在运行时动态加载、替换或扩展框架的组件实现。SPI机制使得Dubbo的各个模块可以灵活地被扩展和定制,从而实现更好的可扩展性和灵活性。 在Dubbo中,SPI机制的核心思想是将接口与实现解耦,通过