分布式事务
文章平均质量分 81
慕城南风
这个作者很懒,什么都没留下…
展开
-
分布式事务数据一致性解决方案(三)
目录1. 前言2. 什么是分布式事务3. CAP4. CAP应用组合5. BASE理论6. 分布式事务的解决方案6.1 2PC(两阶段提交)6.2 3PC(三阶段提交)6.3 TCC6.4 本地消息表6.5 最大努力通知7. 总结1. 前言看标题就知道,这个又是个在面试中被问到的问题。这个问题其实是在我上次换工作的时候面试被问到过几次,之前也没在意过,觉得这个东西可能比较深奥,我直接说不理解吧。但是随着Java开发这个行业越来越卷,这次........原创 2022-05-31 18:56:23 · 702 阅读 · 0 评论 -
分布式事务数据一致性解决方案(二)
目录1. 前言2. PC2.1 XA方案2.2 Seata方案3. TCC4. 可靠消息最终一致性4.1 本地消息表方案4.2 RocketMQ方案5. 最大努力通知1. 前言Base理论 Basically Available 基本可用,Soft state 软状态,Eventually consistent 最终一致性 三个短语的 缩写,通过牺牲强一致性来获取最终一致性,当出现故障时允许部分不可用但要保证核心功能可用,允许数据在一段时间内...原创 2022-05-31 18:40:08 · 411 阅读 · 0 评论 -
分布式事务数据一致性解决方案(一)
1. 从数据一致性谈起 一致性问题,“万恶之源”是数据冗余和分布并通过网络交互+网络异常是常态。1.1 数据一致性的情形主库、从库和缓存数据一致性,相同数据冗余,关系数据库,为保证关据库的高可用和高性能,一般会采用主从(备)架构并引入缓存。其中数据不一致性存在于数据冗余的时间窗口内。常用的解决方案见数据库之架构。 多副本数据之间的数据一致性,相同数据副本,大数据领域,一份数据会有多个副本并存储到不同的节点上。客户端可以访问任何一个节点进行读写操作。常用的解决方案是基于Paxos、ZAB、Ra原创 2022-05-31 18:25:26 · 2348 阅读 · 0 评论 -
事务里面http调用的处理办法
一个java程序使用spring开启了事务之后,http服务不稳定try{...........http调用............}catch(Exception e){e.print();}处理办法:1、 熔断处理啊2、 对请求设置请求超时时间 超过这个时间3、 就over 或者尝试重试(幂等性)幂等性处理办法:1、业务请求一进来记录到表然后处理后面逻辑,处理完了返回去,然后把这个标记去掉。2、采用redis,请求过来时候把关键字或者所有请求做原创 2022-05-30 11:15:16 · 661 阅读 · 0 评论 -
分布式事务之远程调用服务异常后的事务回滚
前言同一个商品在很多仓库都有库存 库存-锁定是剩余的商品数量下了一个订单 里面有多件商品 要分别找每个商品是否还有库存在一个订单下的多个商品只要有一个是没有库存的 整个订单就要回滚写Sql语句的时候 先不用找到具体的字段关系 可以先用数字来代替 然后在数据库哪里好使了就焕抛异常来判断返回的值是什么 而不是用 if else来判断1. 分布式事务异常回滚在同一个服务器中很简单如果在一个逻辑下包含本服务自身事务异常回滚+远程服务器里的事务异常回滚就...原创 2022-05-30 10:28:02 · 4414 阅读 · 0 评论 -
彻底理解接口幂等性
目录背景1. 幂等性的概念2.什么情况需要处理接口幂等性问题?2.1 select 天然自带幂等性。2.2 insert 当我们重复插入数据的时候,会出现什么情况 ?2.3 delete 是否具有幂等性?2.4 update 猜一猜是否具有天热幂等性?3.接口幂等性解决方案3.1唯一索引,防止新增脏数据3.2token+redis机制3.3CAS 保证接口幂等性3.4悲观锁3.5乐观锁实现幂等3.6分布式锁3.7防重表3.8缓...原创 2021-12-31 18:08:06 · 2001 阅读 · 0 评论 -
还不知道事务消息吗?这篇文章带你全面扫盲
在分布式系统中,为了保证数据一致性是必须使用分布式事务。分布式事务实现方式就很多种,今天主要介绍一下使用 RocketMQ 事务消息,实现分布事务。文末有彩蛋,看完再走为什么需要事务消息?很多同学可能不知道事务消息是什么,没关系,举一个真实业务场景,先来带你了解一下普通的消息存在问题。上面业务场景中,当用户支付成功,将会更新支付订单,然后发送 MQ 消息。手续费系统将会通过拉取消息,计算手续费然后保存到另外一个手续费数据库中。由于计算手续费这个步骤可以离线计算,所以这里采用 MQ原创 2021-12-31 17:06:16 · 400 阅读 · 0 评论