简单的谈一谈分布式事务问题

目前,互联网行业的发展,使得系统由单体系统演变分布式系统,传统的集中式蜕变为分布式的。而在分布式系统架构的到来,好处特别多【自行网上搜集资料】,但也带来一个世界性的难题,即分布式事务问题。

何为分布式事务?

在此,举一个例子【本人开发过程中的经历】:

一个电商系统,采取spring+springMVC+mybatis做基础的技术架构,采用RPC框架做服务的远程调用【Dubbo+zookeeper】。

在订单服务中order-service,生成订单:1、先清空购物车【远程调用完成】;2、写order,ordergoods,orderAction【没有经过远程调用】。

这时,有一个问题,这两步无论操作的先后顺序,比如,第一步先操作,当第一步完成后,第二步操作失败。一般人都认为,这时数据库中的数据会回滚。回滚吗?答案不是的,操作两个服务,代表的是两个事物。

这就是一个分布式事务问题,分布式事务的本质在于:不在一个事务管理器里面。

 

 

事务控制原理

个人观点:事务控制原理,TxManager:全局事务管理器,一套完整的请求,需要经过controller--->service----->dao

在service业务模块与dao持久层之间,添加一个TxClient事务的客户端。这个TxClient有什么作用?基于什么原理制作的呢?

很简单的想到,他就是一个控制事务的拦截器,将一个请求中的所有事务都放到全局事务管理器中,一起开始和结束。可以结合springAop面向切面编程+拦截器的原理完成这种分布式事务处理的架构思想。

详情参考一下:LCN

 

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值