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

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

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

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

 

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

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

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

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

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

 

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

示例代码:

跳转到示例代码:

 

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

你可能感兴趣的文章
Apache配置文件中的deny和allow的使用
查看>>
Zabbix集成OneAlert实现短信、邮件、微信、电话、App告警
查看>>
[JMS 2] ActiveMQ简单介绍以及安装
查看>>
QQ侧滑删除分享(工具类)
查看>>
手机删除的短信怎么恢复?快速恢复
查看>>
一个BAT老程序员的忠告!
查看>>
js生成二维码
查看>>
灵活和安全兼具pure-ftpd搭建ftp服务器--------通俗易懂
查看>>
html5移动动画开发,太牛X
查看>>
百度推出移动终端平台“百度易”
查看>>
python排序算法(二)
查看>>
CentOS Linux解决Device eth0 does not seem to be present
查看>>
JAVA通过访问页面中的URL实现Http文件下载到本地
查看>>
网页打印自动调用默认打印机打印
查看>>
我的友情链接
查看>>
我的友情链接
查看>>
四舍六入五留双规则
查看>>
mysql 获取当前日期前后的时间
查看>>
Spark on Yarn ”爬坑“集锦(spark1.2)
查看>>
轻松审计代码安全性,Windows 10有妙招
查看>>