![](https://img-blog.csdnimg.cn/20201014180756923.png?x-oss-process=image/resize,m_fixed,h_64,w_64)
分布式事务
文章平均质量分 58
国林哥
电子科技大学EMBA,西南大学通信工程本科,供职于初灵信息(创业板上市公司),曾在IBM、中软国际任职,资深敏捷教练,PMP,信息系统项目管理师,华为HCIP,曾负责华为100+人研发团队,中软国际明星PM。
展开
-
分布式事务 | 最大努力通知方案
最大努力通知方案,在平时的生活中经常会遇到,他会有一定的延迟。我们都接通了支付宝或者微信支付吧?采用APP连接支付宝或微信支付进行操作,就是最大努力控制方案。支付的流程是APP要求选择支付宝或者微信支付,当在微信平台上付完之后,回调我方系统。比如创建一个订单,如果这个订单收到钱了,则支付宝或微信回调一下,告诉我方系统把这个订单的状态改成已支付。订单状态原来是未支付,我方系统通过主动回调,主动查询第三方充值结果,这就是最大努力通知方案。这里会涉及重复...原创 2022-01-07 08:13:01 · 720 阅读 · 0 评论 -
分布式事务 | RocketMQ事务消息方案
当一个请求进来,先到事务发起方,同时有另一个服务,即事务消费方,现在需要在这两个服务之间要保证数据的一致性,比如说他想发送一个half message,发送到RocketMQ给他一个回应,表示发送half message成功。Half message当前这个状态的消息,在事务消费方是消费不到这个消息的,因为它是一个half message,这是RocketMQ事务消息的一个概念,只要是half message,事务消费方消费不到。而事务发起方知道他们已经发过去了,发送成功...原创 2022-01-07 07:40:39 · 1082 阅读 · 0 评论 -
分布式事务 | 消息队列+本地事件表+定时任务方案
一个请求进来先调用一个服务,服务里面有一个功能,就是业务操作事件表,它在一个服务里,所以它能通过本地事务完成。1-1执行业务,1-2插入事件表,1-3返回响应。通过本地事务来保证事务把业务执行完,把数据插入事件表里,然后给用户一个响应就完成了。在系统调用多个事务过程中,怎么能提高系统的效率?比如,调用第一个服务需要10秒,调用第二个服务需要10秒,调第三个服务还需要10秒,此时我们的请求进来,原来是一个一个的调用,现在我们只调用第一个,至于后面的这些操...原创 2022-01-05 23:44:46 · 1429 阅读 · 1 评论 -
分布式事务 | 阿里巴巴Seata解决方案
什么是事务?简单来说,即几个事要么都做,要么都不做。如产生订单和减库存。事务的四个特性:ACID(原子性,一致性,隔离性,持久性),本质是通过锁实现一致性和隔离性。分布式事务是指会涉及到操作多个数据库(服务)的事务。其实就是将对同一数据库(服务)事务的概念扩大到了对多个数据库(服务)的事务。目的是为了保证分布式系统中的数据一致性。分布式事务处理的关键是必须有一种方法可以知道事务在任何地方所做的所有动作,提交或回滚事务的决定必须产生统一的结果(全部提交或全部回滚)。Begin Transa原创 2022-01-03 08:56:36 · 919 阅读 · 0 评论 -
分布式事务 | TCC(Try Confirm Cancel)解决方案
很多人在工作中,一说到TCC就把他想象得挺高大上,其实TCC也是一个两阶段提交的消息,为什么这么说?T是第一阶段,叫try阶段,第二阶段叫confirm或cancel阶段。比如说启动两个服务,每个服务都try,当第一阶段反馈yes的时候,那么第二段发送了confirm的请求,如果第一阶段反馈有问题的时候,发送的是cancel请求,所以这也是一个两阶段的提交。举个TCC解决问题的例子,张三给李四转账100块钱,张三给李四转账的时候,第一阶段就是try阶段,张三余额减100,然后张三有一个冻结字段,冻结原创 2022-01-04 23:57:43 · 1782 阅读 · 0 评论