博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
【分布式事务】分布式事务的实现
阅读量:7242 次
发布时间:2019-06-29

本文共 426 字,大约阅读时间需要 1 分钟。

如果在多个服务中需要对不同的数据库进行操作。

  因为不同服务操作的数据库都不同,所以保证在同一个事务中完成操作显然是不科学的。

 

那实现分布式事务的思想:

  1》  方法入口,创建一条日志记录,状态定义为初始状态,即保存本条日志记录【可以保存在数据库中,也可以写出到本地磁盘文件】

  2》  可以在异步线程或在定时任务中,去读取日志表中,是否有满足条件的日志需要处理【同时为了放置多个示例开启多个定时任务,可以将定时任务放入redis,保证同一时刻只有一个定时任务在执行】

  3》  如果有需要处理的任务,先取出本条日志,然后分别对不同服务进行处理,哪一个服务处理完成,就设置本服务对应的状态为成功标志

  4》  只有所有服务对应标志都成功,才表示次服务最终完成【定时任务完成的同时删除redis中的定时任务,定时任务完成不代表服务最终完成,有可能是其中一个服务成功,另一个服务结束】

 

以此来实现分布式事务的思想。

示例代码:

跳转到示例代码:

 

转载地址:http://voybm.baihongyu.com/

你可能感兴趣的文章
SQL Server 2008安装图解及遇到的问题记录
查看>>
PV与并发之间换算的算法换算公式
查看>>
maven依赖
查看>>
转换时间戳为date类型的oracle方法
查看>>
server系统开启ping功能
查看>>
【年中福利又一波】爱加密邀你体验安全之旅 各种豪礼任性送!
查看>>
android Activity 生命周期
查看>>
入行程序员一个月的感受
查看>>
通过Job,Trigger,Scheduler看Quartz2.x作业调度框架
查看>>
数组细节
查看>>
Windows下PATH等环境变量详解
查看>>
定时器
查看>>
带你制作百词斩单词表读写插件
查看>>
我的友情链接
查看>>
python学习笔记4-python文件操作
查看>>
Python WEB开发环境搭建及配置六之Django
查看>>
Ubuntu14.04安装vim
查看>>
我的友情链接
查看>>
Juniper防火墙部署工程
查看>>
使ActionBar(Toolbar)的Up导航和实体按键Back实现同步
查看>>